@nemme/js-sdk 0.3.3 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"nemme-sdk.umd.js","sources":["../../node_modules/react-i18next/dist/es/utils.js","../../node_modules/react-i18next/dist/es/unescape.js","../../node_modules/react-i18next/dist/es/defaults.js","../../node_modules/react-i18next/dist/es/i18nInstance.js","../../node_modules/react-i18next/dist/es/initReactI18next.js","../../node_modules/react-i18next/dist/es/context.js","../../node_modules/react-i18next/dist/es/useTranslation.js","../../node_modules/react-i18next/dist/es/I18nextProvider.js","../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../node_modules/react/jsx-runtime.js","../src/forms/form-wrapper/step.tsx","../src/forms/form-wrapper/form-wrapper.tsx","../../node_modules/@phosphor-icons/react/dist/defs/ArrowSquareOut.es.js","../../node_modules/@phosphor-icons/react/dist/defs/CaretLeft.es.js","../../node_modules/@phosphor-icons/react/dist/defs/CaretRight.es.js","../../node_modules/@phosphor-icons/react/dist/defs/X.es.js","../../node_modules/@phosphor-icons/react/dist/lib/context.es.js","../../node_modules/@phosphor-icons/react/dist/lib/IconBase.es.js","../../node_modules/@phosphor-icons/react/dist/csr/ArrowSquareOut.es.js","../../node_modules/@phosphor-icons/react/dist/csr/CaretLeft.es.js","../../node_modules/@phosphor-icons/react/dist/csr/CaretRight.es.js","../../node_modules/@phosphor-icons/react/dist/csr/X.es.js","../../ui-kit/dist/index.es.js","../src/forms/question-wrapper.tsx","../src/forms/question-choice/question-choice.tsx","../src/forms/question-text/question-text.tsx","../src/forms/transition-wrapper.tsx","../src/forms/transition-end/transition-end.tsx","../src/forms/transition-start/transition-start.tsx","../../node_modules/date-fns/_lib/defaultOptions.js","../../node_modules/date-fns/locale/en-US/_lib/formatDistance.js","../../node_modules/date-fns/locale/_lib/buildFormatLongFn.js","../../node_modules/date-fns/locale/en-US/_lib/formatRelative.js","../../node_modules/date-fns/locale/_lib/buildLocalizeFn.js","../../node_modules/date-fns/locale/en-US/_lib/localize.js","../../node_modules/date-fns/locale/_lib/buildMatchFn.js","../../node_modules/date-fns/locale/_lib/buildMatchPatternFn.js","../../node_modules/date-fns/locale/en-US/_lib/match.js","../../node_modules/date-fns/setDefaultOptions.js","../../node_modules/date-fns/locale/en-GB/_lib/formatLong.js","../../node_modules/date-fns/locale/en-GB.js","../../node_modules/i18next/dist/esm/i18next.js","../../node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","../src/config.ts","../src/i18n.ts","../src/utils/logger.ts","../src/networking/httpClient.ts","../src/forms/form-manager.ts","../src/deliveries/delivery-manager.ts","../src/tracking/tracking-manager.ts","../src/client.ts","../src/react/context.ts","../src/react/NemmeProvider.tsx","../src/react/useNemmeContext.ts","../src/react/useNemme.ts","../src/browser.ts"],"sourcesContent":["export const warn = (i18n, code, msg, rest) => {\n const args = [msg, {\n code,\n ...(rest || {})\n }];\n if (i18n?.services?.logger?.forward) {\n return i18n.services.logger.forward(args, 'warn', 'react-i18next::', true);\n }\n if (isString(args[0])) args[0] = `react-i18next:: ${args[0]}`;\n if (i18n?.services?.logger?.warn) {\n i18n.services.logger.warn(...args);\n } else if (console?.warn) {\n console.warn(...args);\n }\n};\nconst alreadyWarned = {};\nexport const warnOnce = (i18n, code, msg, rest) => {\n if (isString(msg) && alreadyWarned[msg]) return;\n if (isString(msg)) alreadyWarned[msg] = new Date();\n warn(i18n, code, msg, rest);\n};\nconst loadedClb = (i18n, cb) => () => {\n if (i18n.isInitialized) {\n cb();\n } else {\n const initialized = () => {\n setTimeout(() => {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n i18n.on('initialized', initialized);\n }\n};\nexport const loadNamespaces = (i18n, ns, cb) => {\n i18n.loadNamespaces(ns, loadedClb(i18n, cb));\n};\nexport const loadLanguages = (i18n, lng, ns, cb) => {\n if (isString(ns)) ns = [ns];\n if (i18n.options.preload && i18n.options.preload.indexOf(lng) > -1) return loadNamespaces(i18n, ns, cb);\n ns.forEach(n => {\n if (i18n.options.ns.indexOf(n) < 0) i18n.options.ns.push(n);\n });\n i18n.loadLanguages(lng, loadedClb(i18n, cb));\n};\nexport const hasLoadedNamespace = (ns, i18n, options = {}) => {\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce(i18n, 'NO_LANGUAGES', 'i18n.languages were undefined or empty', {\n languages: i18n.languages\n });\n return true;\n }\n return i18n.hasLoadedNamespace(ns, {\n lng: options.lng,\n precheck: (i18nInstance, loadNotPending) => {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n};\nexport const getDisplayName = Component => Component.displayName || Component.name || (isString(Component) && Component.length > 0 ? Component : 'Unknown');\nexport const isString = obj => typeof obj === 'string';\nexport const isObject = obj => typeof obj === 'object' && obj !== null;","const matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nconst htmlEntities = {\n '&amp;': '&',\n '&#38;': '&',\n '&lt;': '<',\n '&#60;': '<',\n '&gt;': '>',\n '&#62;': '>',\n '&apos;': \"'\",\n '&#39;': \"'\",\n '&quot;': '\"',\n '&#34;': '\"',\n '&nbsp;': ' ',\n '&#160;': ' ',\n '&copy;': '©',\n '&#169;': '©',\n '&reg;': '®',\n '&#174;': '®',\n '&hellip;': '…',\n '&#8230;': '…',\n '&#x2F;': '/',\n '&#47;': '/'\n};\nconst unescapeHtmlEntity = m => htmlEntities[m];\nexport const unescape = text => text.replace(matchHtmlEntity, unescapeHtmlEntity);","import { unescape } from './unescape.js';\nlet defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape\n};\nexport const setDefaults = (options = {}) => {\n defaultOptions = {\n ...defaultOptions,\n ...options\n };\n};\nexport const getDefaults = () => defaultOptions;","let i18nInstance;\nexport const setI18n = instance => {\n i18nInstance = instance;\n};\nexport const getI18n = () => i18nInstance;","import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport const initReactI18next = {\n type: '3rdParty',\n init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","import { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport const I18nContext = createContext();\nexport class ReportNamespaces {\n constructor() {\n this.usedNamespaces = {};\n }\n addUsedNamespaces(namespaces) {\n namespaces.forEach(ns => {\n if (!this.usedNamespaces[ns]) this.usedNamespaces[ns] = true;\n });\n }\n getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n}\nexport const composeInitialProps = ForComponent => async ctx => {\n const componentsInitialProps = (await ForComponent.getInitialProps?.(ctx)) ?? {};\n const i18nInitialProps = getInitialProps();\n return {\n ...componentsInitialProps,\n ...i18nInitialProps\n };\n};\nexport const getInitialProps = () => {\n const i18n = getI18n();\n const namespaces = i18n.reportNamespaces?.getUsedNamespaces() ?? [];\n const ret = {};\n const initialI18nStore = {};\n i18n.languages.forEach(l => {\n initialI18nStore[l] = {};\n namespaces.forEach(ns => {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n};","import { useState, useEffect, useContext, useRef, useCallback } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context.js';\nimport { warnOnce, loadNamespaces, loadLanguages, hasLoadedNamespace, isString, isObject } from './utils.js';\nconst usePrevious = (value, ignore) => {\n const ref = useRef();\n useEffect(() => {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\nconst alwaysNewT = (i18n, language, namespace, keyPrefix) => i18n.getFixedT(language, namespace, keyPrefix);\nconst useMemoizedT = (i18n, language, namespace, keyPrefix) => useCallback(alwaysNewT(i18n, language, namespace, keyPrefix), [i18n, language, namespace, keyPrefix]);\nexport const useTranslation = (ns, props = {}) => {\n const {\n i18n: i18nFromProps\n } = props;\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n if (!i18n) {\n warnOnce(i18n, 'NO_I18NEXT_INSTANCE', 'useTranslation: You will need to pass in an i18next instance by using initReactI18next');\n const notReadyT = (k, optsOrDefaultValue) => {\n if (isString(optsOrDefaultValue)) return optsOrDefaultValue;\n if (isObject(optsOrDefaultValue) && isString(optsOrDefaultValue.defaultValue)) return optsOrDefaultValue.defaultValue;\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n const retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n if (i18n.options.react?.wait) warnOnce(i18n, 'DEPRECATED_OPTION', 'useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n const i18nOptions = {\n ...getDefaults(),\n ...i18n.options.react,\n ...props\n };\n const {\n useSuspense,\n keyPrefix\n } = i18nOptions;\n let namespaces = ns || defaultNSFromContext || i18n.options?.defaultNS;\n namespaces = isString(namespaces) ? [namespaces] : namespaces || ['translation'];\n i18n.reportNamespaces.addUsedNamespaces?.(namespaces);\n const ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(n => hasLoadedNamespace(n, i18n, i18nOptions));\n const memoGetT = useMemoizedT(i18n, props.lng || null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n const getT = () => memoGetT;\n const getNewT = () => alwaysNewT(i18n, props.lng || null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n const [t, setT] = useState(getT);\n let joinedNS = namespaces.join();\n if (props.lng) joinedNS = `${props.lng}${joinedNS}`;\n const previousJoinedNS = usePrevious(joinedNS);\n const isMounted = useRef(true);\n useEffect(() => {\n const {\n bindI18n,\n bindI18nStore\n } = i18nOptions;\n isMounted.current = true;\n if (!ready && !useSuspense) {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, () => {\n if (isMounted.current) setT(getNewT);\n });\n } else {\n loadNamespaces(i18n, namespaces, () => {\n if (isMounted.current) setT(getNewT);\n });\n }\n }\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getNewT);\n }\n const boundReset = () => {\n if (isMounted.current) setT(getNewT);\n };\n if (bindI18n) i18n?.on(bindI18n, boundReset);\n if (bindI18nStore) i18n?.store.on(bindI18nStore, boundReset);\n return () => {\n isMounted.current = false;\n if (i18n && bindI18n) bindI18n?.split(' ').forEach(e => i18n.off(e, boundReset));\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(e => i18n.store.off(e, boundReset));\n };\n }, [i18n, joinedNS]);\n useEffect(() => {\n if (isMounted.current && ready) {\n setT(getT);\n }\n }, [i18n, keyPrefix, ready]);\n const ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(resolve => {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, () => resolve());\n } else {\n loadNamespaces(i18n, namespaces, () => resolve());\n }\n });\n};","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context.js';\nexport function I18nextProvider({\n i18n,\n defaultNS,\n children\n}) {\n const value = useMemo(() => ({\n i18n,\n defaultNS\n }), [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value\n }, children);\n}","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import { FC } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { QuestionChoice, QuestionText, TransitionEnd, TransitionStart } from '..';\nimport { FormState } from './form-wrapper';\n\ntype Props = {\n step: number;\n form: Form;\n formState: FormState;\n onDismiss: (formState: FormState) => void;\n onNextStep: () => void;\n onPreviousStep: () => void;\n onUpdateResponse: (questionId: number, answer: string | number[]) => void;\n};\n\ntype StepInfo = {\n type: 'start' | 'question' | 'end';\n transition?: StartTransition | EndTransition;\n questionIndex?: number;\n question?: Question;\n hasPreviousStep: boolean;\n hasNextStep: boolean;\n};\n\nexport const Step: FC<Props> = ({ step, form, formState, onDismiss, onNextStep, onPreviousStep, onUpdateResponse }) => {\n const { t } = useTranslation();\n\n // Helper function to determine what type of step we're on\n const getStepInfo = (stepOrder: number): StepInfo => {\n let currentOrder = 0;\n\n // Check if this is the start transition\n if (form.startTransition) {\n if (stepOrder === currentOrder) {\n return {\n type: 'start' as const,\n transition: form.startTransition,\n hasPreviousStep: false,\n hasNextStep: form.questions.length > 0 || !!form.endTransition\n };\n }\n currentOrder++;\n }\n\n // Check if this is a question\n const questionIndex = stepOrder - currentOrder;\n if (questionIndex >= 0 && questionIndex < form.questions.length) {\n return {\n type: 'question' as const,\n questionIndex,\n question: form.questions[questionIndex],\n hasPreviousStep: stepOrder > 0,\n hasNextStep: stepOrder < form.questions.length - 1 || !!form.endTransition\n };\n }\n currentOrder += form.questions.length;\n\n // Check if this is the end transition\n if (form.endTransition && stepOrder === currentOrder) {\n return {\n type: 'end' as const,\n transition: form.endTransition,\n hasPreviousStep: stepOrder > 0,\n hasNextStep: false\n };\n }\n\n throw new Error('Invalid step order');\n };\n\n const stepInfo = getStepInfo(step);\n\n if (stepInfo.type === 'start') {\n const {\n title,\n description,\n image,\n includeOptOut,\n customStartButton,\n startButtonText,\n customOptOutButton,\n optOutButtonText\n } = stepInfo.transition as StartTransition;\n return (\n <TransitionStart\n title={title}\n description={description}\n icon={form.icon}\n image={image}\n quitText={includeOptOut ? (customOptOutButton ? optOutButtonText : t('Quit')) : undefined}\n onQuit={includeOptOut ? () => onDismiss(formState) : undefined}\n startText={customStartButton ? startButtonText : t('Start')}\n onStart={onNextStep}\n />\n );\n }\n\n if (stepInfo.type === 'end') {\n const { title, description, image, customEndButton, endButtonText, customEndButtonLink, endButtonLink } =\n stepInfo.transition as EndTransition;\n return (\n <TransitionEnd\n title={title}\n description={description}\n icon={form.icon}\n image={image}\n quitText={customEndButton ? endButtonText : t('Done')}\n onQuit={onNextStep}\n externalLink={customEndButtonLink ? endButtonLink : undefined}\n />\n );\n }\n\n if (stepInfo.type === 'question') {\n const { question } = stepInfo;\n if (!question) throw new Error('No question found');\n\n if (question.questionType === 'choice') {\n const { title, description, image, alternatives, maxSelections, required } = question as ChoiceQuestion;\n const selectedAlternatives = (formState.responses[question.id] as number[]) || [];\n const isValid =\n (maxSelections ? selectedAlternatives.length <= maxSelections || maxSelections === 4 : true) &&\n (required ? selectedAlternatives.length > 0 : true);\n\n return (\n <QuestionChoice\n title={title}\n description={description}\n image={image}\n alternatives={alternatives}\n onPrevious={onPreviousStep}\n onNext={onNextStep}\n icon={form.icon}\n maxAlternatives={maxSelections}\n onQuit={() => onDismiss(formState)}\n selectedAlternatives={selectedAlternatives}\n onAlternativeSelect={(alternativeIndex: number) => {\n // Handle single or multiple selection based on question config\n const isMultiple = maxSelections > 1;\n if (isMultiple) {\n const current = selectedAlternatives;\n const updated = current.includes(alternativeIndex)\n ? current.filter(i => i !== alternativeIndex)\n : maxSelections && current.length >= maxSelections && maxSelections != 4\n ? current\n : [...current, alternativeIndex];\n onUpdateResponse(question.id, updated);\n } else {\n if (selectedAlternatives.includes(alternativeIndex)) {\n onUpdateResponse(question.id, []);\n } else {\n onUpdateResponse(question.id, [alternativeIndex]);\n }\n }\n }}\n isValid={isValid}\n hasPreviousStep={stepInfo.hasPreviousStep}\n hasNextStep={stepInfo.hasNextStep}\n />\n );\n }\n\n if (question.questionType === 'text') {\n const { title, description, image, maxChars, limited, required } = question as TextQuestion;\n const inputText = (formState.responses[question.id] as string) || '';\n const isValid =\n (limited && maxChars ? inputText.length <= maxChars : true) && (required ? inputText.length > 0 : true);\n\n return (\n <QuestionText\n title={title}\n icon={form.icon}\n description={description}\n onNext={onNextStep}\n onPrevious={onPreviousStep}\n onQuit={() => onDismiss(formState)}\n image={image}\n maxCharacters={limited ? maxChars : undefined}\n inputText={inputText}\n setInputText={(text: string) => {\n if (limited && maxChars && text.length > maxChars) return;\n onUpdateResponse(question.id, text);\n }}\n isValid={isValid}\n hasPreviousStep={stepInfo.hasPreviousStep}\n hasNextStep={stepInfo.hasNextStep}\n />\n );\n }\n }\n\n return null;\n};\n","import { FC, useCallback, useState } from 'react';\nimport { Step } from './step';\n\nexport type FormState = {\n responses: Record<number, string | number[]>; // questionId -> response\n currentStep: number; // Sequential step number\n startedAt: Date;\n completedAt?: Date;\n};\n\nexport type Props = {\n form: Form;\n onDismiss: (formState: FormState) => Promise<void>;\n onComplete: (formState: FormState) => Promise<void>;\n zIndex?: number;\n};\n\nexport const FormWrapper: FC<Props> = ({ form, onDismiss, onComplete, zIndex = 100 }) => {\n // Calculate total steps: startTransition + questions + endTransition\n const totalSteps = (form.startTransition ? 1 : 0) + form.questions.length + (form.endTransition ? 1 : 0);\n const lastStepIndex = totalSteps - 1;\n\n const [formState, setFormState] = useState<FormState>({\n responses: {},\n currentStep: 0,\n startedAt: new Date()\n });\n\n const updateResponse = useCallback((questionId: number, answer: string | number[]) => {\n setFormState(prev => ({\n ...prev,\n responses: {\n ...prev.responses,\n [questionId]: answer\n }\n }));\n }, []);\n\n const navigateToStep = useCallback((stepOrder: number) => {\n setFormState(prev => ({\n ...prev,\n currentStep: stepOrder\n }));\n }, []);\n\n const nextStep = useCallback(() => {\n if (formState.currentStep < lastStepIndex) {\n navigateToStep(formState.currentStep + 1);\n } else {\n const completedFormState = {\n ...formState,\n completedAt: new Date()\n };\n onComplete(completedFormState);\n }\n }, [formState, lastStepIndex, navigateToStep, onComplete]);\n\n const previousStep = useCallback(() => {\n if (formState.currentStep > 0) {\n navigateToStep(formState.currentStep - 1);\n }\n }, [formState.currentStep, navigateToStep]);\n return (\n <div\n className=\"flex flex-col justify-center items-center absolute inset-0 bg-overlay-background-default-light dark:bg-overlay-background-default-dark\"\n style={{ zIndex }}\n >\n <Step\n step={formState.currentStep}\n form={form}\n formState={formState}\n onDismiss={onDismiss}\n onNextStep={nextStep}\n onPreviousStep={previousStep}\n onUpdateResponse={updateResponse}\n />\n </div>\n );\n};\n","import * as a from \"react\";\nconst e = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M184,80V208a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H176A8,8,0,0,1,184,80Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M192,136v72a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V80A16,16,0,0,1,48,64h72a8,8,0,0,1,0,16H48V208H176V136a8,8,0,0,1,16,0Zm32-96a8,8,0,0,0-8-8H152a8,8,0,0,0-5.66,13.66L172.69,72l-42.35,42.34a8,8,0,0,0,11.32,11.32L184,83.31l26.34,26.35A8,8,0,0,0,224,104Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M222,104a6,6,0,0,1-12,0V54.49l-69.75,69.75a6,6,0,0,1-8.48-8.48L201.51,46H152a6,6,0,0,1,0-12h64a6,6,0,0,1,6,6Zm-38,26a6,6,0,0,0-6,6v72a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V80a2,2,0,0,1,2-2h72a6,6,0,0,0,0-12H48A14,14,0,0,0,34,80V208a14,14,0,0,0,14,14H176a14,14,0,0,0,14-14V136A6,6,0,0,0,184,130Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M220,104a4,4,0,0,1-8,0V49.66l-73.16,73.17a4,4,0,0,1-5.66-5.66L206.34,44H152a4,4,0,0,1,0-8h64a4,4,0,0,1,4,4Zm-36,28a4,4,0,0,0-4,4v72a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V80a4,4,0,0,1,4-4h72a4,4,0,0,0,0-8H48A12,12,0,0,0,36,80V208a12,12,0,0,0,12,12H176a12,12,0,0,0,12-12V136A4,4,0,0,0,184,132Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M168.49,199.51a12,12,0,0,1-17,17l-80-80a12,12,0,0,1,0-17l80-80a12,12,0,0,1,17,17L97,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M160,48V208L80,128Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M163.06,40.61a8,8,0,0,0-8.72,1.73l-80,80a8,8,0,0,0,0,11.32l80,80A8,8,0,0,0,168,208V48A8,8,0,0,0,163.06,40.61ZM152,188.69,91.31,128,152,67.31Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M168,48V208a8,8,0,0,1-13.66,5.66l-80-80a8,8,0,0,1,0-11.32l80-80A8,8,0,0,1,168,48Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M164.24,203.76a6,6,0,1,1-8.48,8.48l-80-80a6,6,0,0,1,0-8.48l80-80a6,6,0,0,1,8.48,8.48L88.49,128Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M165.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L91.31,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M162.83,205.17a4,4,0,0,1-5.66,5.66l-80-80a4,4,0,0,1,0-5.66l80-80a4,4,0,1,1,5.66,5.66L85.66,128Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as e from \"react\";\nconst t = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M184.49,136.49l-80,80a12,12,0,0,1-17-17L159,128,87.51,56.49a12,12,0,1,1,17-17l80,80A12,12,0,0,1,184.49,136.49Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M176,128,96,208V48Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M181.66,122.34l-80-80A8,8,0,0,0,88,48V208a8,8,0,0,0,13.66,5.66l80-80A8,8,0,0,0,181.66,122.34ZM104,188.69V67.31L164.69,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M181.66,133.66l-80,80A8,8,0,0,1,88,208V48a8,8,0,0,1,13.66-5.66l80,80A8,8,0,0,1,181.66,133.66Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M180.24,132.24l-80,80a6,6,0,0,1-8.48-8.48L167.51,128,91.76,52.24a6,6,0,0,1,8.48-8.48l80,80A6,6,0,0,1,180.24,132.24Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M178.83,130.83l-80,80a4,4,0,0,1-5.66-5.66L170.34,128,93.17,50.83a4,4,0,0,1,5.66-5.66l80,80A4,4,0,0,1,178.83,130.83Z\" }))\n ]\n]);\nexport {\n t as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\n \"path\",\n {\n d: \"M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ e.createElement(\"path\", { d: \"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM181.66,170.34a8,8,0,0,1-11.32,11.32L128,139.31,85.66,181.66a8,8,0,0,1-11.32-11.32L116.69,128,74.34,85.66A8,8,0,0,1,85.66,74.34L128,116.69l42.34-42.35a8,8,0,0,1,11.32,11.32L139.31,128Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M204.24,195.76a6,6,0,1,1-8.48,8.48L128,136.49,60.24,204.24a6,6,0,0,1-8.48-8.48L119.51,128,51.76,60.24a6,6,0,0,1,8.48-8.48L128,119.51l67.76-67.75a6,6,0,0,1,8.48,8.48L136.49,128Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M202.83,197.17a4,4,0,0,1-5.66,5.66L128,133.66,58.83,202.83a4,4,0,0,1-5.66-5.66L122.34,128,53.17,58.83a4,4,0,0,1,5.66-5.66L128,122.34l69.17-69.17a4,4,0,1,1,5.66,5.66L133.66,128Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import { createContext as r } from \"react\";\nconst o = r({\n color: \"currentColor\",\n size: \"1em\",\n weight: \"regular\",\n mirrored: !1\n});\nexport {\n o as IconContext\n};\n","import * as e from \"react\";\nimport { IconContext as h } from \"./context.es.js\";\nconst p = e.forwardRef(\n (s, a) => {\n const {\n alt: n,\n color: r,\n size: t,\n weight: o,\n mirrored: c,\n children: i,\n weights: m,\n ...x\n } = s, {\n color: d = \"currentColor\",\n size: l,\n weight: f = \"regular\",\n mirrored: g = !1,\n ...w\n } = e.useContext(h);\n return /* @__PURE__ */ e.createElement(\n \"svg\",\n {\n ref: a,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: t != null ? t : l,\n height: t != null ? t : l,\n fill: r != null ? r : d,\n viewBox: \"0 0 256 256\",\n transform: c || g ? \"scale(-1, 1)\" : void 0,\n ...w,\n ...x\n },\n !!n && /* @__PURE__ */ e.createElement(\"title\", null, n),\n i,\n m.get(o != null ? o : f)\n );\n }\n);\np.displayName = \"IconBase\";\nexport {\n p as default\n};\n","import * as r from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport m from \"../defs/ArrowSquareOut.es.js\";\nconst o = r.forwardRef((e, t) => /* @__PURE__ */ r.createElement(a, { ref: t, ...e, weights: m }));\no.displayName = \"ArrowSquareOutIcon\";\nconst n = o;\nexport {\n n as ArrowSquareOut,\n o as ArrowSquareOutIcon\n};\n","import * as e from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport f from \"../defs/CaretLeft.es.js\";\nconst t = e.forwardRef((o, r) => /* @__PURE__ */ e.createElement(a, { ref: r, ...o, weights: f }));\nt.displayName = \"CaretLeftIcon\";\nconst s = t;\nexport {\n s as CaretLeft,\n t as CaretLeftIcon\n};\n","import * as t from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport i from \"../defs/CaretRight.es.js\";\nconst e = t.forwardRef((o, r) => /* @__PURE__ */ t.createElement(a, { ref: r, ...o, weights: i }));\ne.displayName = \"CaretRightIcon\";\nconst s = e;\nexport {\n s as CaretRight,\n e as CaretRightIcon\n};\n","import * as o from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport m from \"../defs/X.es.js\";\nconst e = o.forwardRef((r, t) => /* @__PURE__ */ o.createElement(a, { ref: t, ...r, weights: m }));\ne.displayName = \"XIcon\";\nconst n = e;\nexport {\n n as X,\n e as XIcon\n};\n","import _e, { useState as ge, useRef as Pe, useEffect as Se, Fragment as pt, createElement as Qt, useCallback as Ne, useMemo as gt, forwardRef as er, useContext as tr, createContext as yt } from \"react\";\nimport { IconContext as me, CaretDownIcon as rr, XIcon as ft, MagnifyingGlassIcon as ar, CheckIcon as bt, CopyIcon as nr } from \"@phosphor-icons/react\";\nvar Fe = { exports: {} }, he = {};\n/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar rt;\nfunction lr() {\n if (rt) return he;\n rt = 1;\n var e = _e, t = Symbol.for(\"react.element\"), r = Symbol.for(\"react.fragment\"), i = Object.prototype.hasOwnProperty, s = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, g = { key: !0, ref: !0, __self: !0, __source: !0 };\n function o(b, c, m) {\n var k, h = {}, E = null, _ = null;\n m !== void 0 && (E = \"\" + m), c.key !== void 0 && (E = \"\" + c.key), c.ref !== void 0 && (_ = c.ref);\n for (k in c) i.call(c, k) && !g.hasOwnProperty(k) && (h[k] = c[k]);\n if (b && b.defaultProps) for (k in c = b.defaultProps, c) h[k] === void 0 && (h[k] = c[k]);\n return { $$typeof: t, type: b, key: E, ref: _, props: h, _owner: s.current };\n }\n return he.Fragment = r, he.jsx = o, he.jsxs = o, he;\n}\nvar xe = {};\n/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar at;\nfunction ir() {\n return at || (at = 1, process.env.NODE_ENV !== \"production\" && (function() {\n var e = _e, t = Symbol.for(\"react.element\"), r = Symbol.for(\"react.portal\"), i = Symbol.for(\"react.fragment\"), s = Symbol.for(\"react.strict_mode\"), g = Symbol.for(\"react.profiler\"), o = Symbol.for(\"react.provider\"), b = Symbol.for(\"react.context\"), c = Symbol.for(\"react.forward_ref\"), m = Symbol.for(\"react.suspense\"), k = Symbol.for(\"react.suspense_list\"), h = Symbol.for(\"react.memo\"), E = Symbol.for(\"react.lazy\"), _ = Symbol.for(\"react.offscreen\"), d = Symbol.iterator, u = \"@@iterator\";\n function y(a) {\n if (a === null || typeof a != \"object\")\n return null;\n var x = d && a[d] || a[u];\n return typeof x == \"function\" ? x : null;\n }\n var v = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n function f(a) {\n {\n for (var x = arguments.length, w = new Array(x > 1 ? x - 1 : 0), F = 1; F < x; F++)\n w[F - 1] = arguments[F];\n C(\"error\", a, w);\n }\n }\n function C(a, x, w) {\n {\n var F = v.ReactDebugCurrentFrame, L = F.getStackAddendum();\n L !== \"\" && (x += \"%s\", w = w.concat([L]));\n var B = w.map(function(T) {\n return String(T);\n });\n B.unshift(\"Warning: \" + x), Function.prototype.apply.call(console[a], console, B);\n }\n }\n var A = !1, R = !1, P = !1, j = !1, O = !1, H;\n H = Symbol.for(\"react.module.reference\");\n function J(a) {\n return !!(typeof a == \"string\" || typeof a == \"function\" || a === i || a === g || O || a === s || a === m || a === k || j || a === _ || A || R || P || typeof a == \"object\" && a !== null && (a.$$typeof === E || a.$$typeof === h || a.$$typeof === o || a.$$typeof === b || a.$$typeof === c || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n a.$$typeof === H || a.getModuleId !== void 0));\n }\n function Y(a, x, w) {\n var F = a.displayName;\n if (F)\n return F;\n var L = x.displayName || x.name || \"\";\n return L !== \"\" ? w + \"(\" + L + \")\" : w;\n }\n function q(a) {\n return a.displayName || \"Context\";\n }\n function K(a) {\n if (a == null)\n return null;\n if (typeof a.tag == \"number\" && f(\"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"), typeof a == \"function\")\n return a.displayName || a.name || null;\n if (typeof a == \"string\")\n return a;\n switch (a) {\n case i:\n return \"Fragment\";\n case r:\n return \"Portal\";\n case g:\n return \"Profiler\";\n case s:\n return \"StrictMode\";\n case m:\n return \"Suspense\";\n case k:\n return \"SuspenseList\";\n }\n if (typeof a == \"object\")\n switch (a.$$typeof) {\n case b:\n var x = a;\n return q(x) + \".Consumer\";\n case o:\n var w = a;\n return q(w._context) + \".Provider\";\n case c:\n return Y(a, a.render, \"ForwardRef\");\n case h:\n var F = a.displayName || null;\n return F !== null ? F : K(a.type) || \"Memo\";\n case E: {\n var L = a, B = L._payload, T = L._init;\n try {\n return K(T(B));\n } catch {\n return null;\n }\n }\n }\n return null;\n }\n var I = Object.assign, M = 0, ee, ne, V, ke, X, te, le;\n function ie() {\n }\n ie.__reactDisabledLog = !0;\n function fe() {\n {\n if (M === 0) {\n ee = console.log, ne = console.info, V = console.warn, ke = console.error, X = console.group, te = console.groupCollapsed, le = console.groupEnd;\n var a = {\n configurable: !0,\n enumerable: !0,\n value: ie,\n writable: !0\n };\n Object.defineProperties(console, {\n info: a,\n log: a,\n warn: a,\n error: a,\n group: a,\n groupCollapsed: a,\n groupEnd: a\n });\n }\n M++;\n }\n }\n function ve() {\n {\n if (M--, M === 0) {\n var a = {\n configurable: !0,\n enumerable: !0,\n writable: !0\n };\n Object.defineProperties(console, {\n log: I({}, a, {\n value: ee\n }),\n info: I({}, a, {\n value: ne\n }),\n warn: I({}, a, {\n value: V\n }),\n error: I({}, a, {\n value: ke\n }),\n group: I({}, a, {\n value: X\n }),\n groupCollapsed: I({}, a, {\n value: te\n }),\n groupEnd: I({}, a, {\n value: le\n })\n });\n }\n M < 0 && f(\"disabledDepth fell below zero. This is a bug in React. Please file an issue.\");\n }\n }\n var oe = v.ReactCurrentDispatcher, re;\n function ue(a, x, w) {\n {\n if (re === void 0)\n try {\n throw Error();\n } catch (L) {\n var F = L.stack.trim().match(/\\n( *(at )?)/);\n re = F && F[1] || \"\";\n }\n return `\n` + re + a;\n }\n }\n var se = !1, Ce;\n {\n var At = typeof WeakMap == \"function\" ? WeakMap : Map;\n Ce = new At();\n }\n function ze(a, x) {\n if (!a || se)\n return \"\";\n {\n var w = Ce.get(a);\n if (w !== void 0)\n return w;\n }\n var F;\n se = !0;\n var L = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n var B;\n B = oe.current, oe.current = null, fe();\n try {\n if (x) {\n var T = function() {\n throw Error();\n };\n if (Object.defineProperty(T.prototype, \"props\", {\n set: function() {\n throw Error();\n }\n }), typeof Reflect == \"object\" && Reflect.construct) {\n try {\n Reflect.construct(T, []);\n } catch (G) {\n F = G;\n }\n Reflect.construct(a, [], T);\n } else {\n try {\n T.call();\n } catch (G) {\n F = G;\n }\n a.call(T.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (G) {\n F = G;\n }\n a();\n }\n } catch (G) {\n if (G && F && typeof G.stack == \"string\") {\n for (var S = G.stack.split(`\n`), U = F.stack.split(`\n`), N = S.length - 1, $ = U.length - 1; N >= 1 && $ >= 0 && S[N] !== U[$]; )\n $--;\n for (; N >= 1 && $ >= 0; N--, $--)\n if (S[N] !== U[$]) {\n if (N !== 1 || $ !== 1)\n do\n if (N--, $--, $ < 0 || S[N] !== U[$]) {\n var W = `\n` + S[N].replace(\" at new \", \" at \");\n return a.displayName && W.includes(\"<anonymous>\") && (W = W.replace(\"<anonymous>\", a.displayName)), typeof a == \"function\" && Ce.set(a, W), W;\n }\n while (N >= 1 && $ >= 0);\n break;\n }\n }\n } finally {\n se = !1, oe.current = B, ve(), Error.prepareStackTrace = L;\n }\n var pe = a ? a.displayName || a.name : \"\", ce = pe ? ue(pe) : \"\";\n return typeof a == \"function\" && Ce.set(a, ce), ce;\n }\n function St(a, x, w) {\n return ze(a, !1);\n }\n function jt(a) {\n var x = a.prototype;\n return !!(x && x.isReactComponent);\n }\n function we(a, x, w) {\n if (a == null)\n return \"\";\n if (typeof a == \"function\")\n return ze(a, jt(a));\n if (typeof a == \"string\")\n return ue(a);\n switch (a) {\n case m:\n return ue(\"Suspense\");\n case k:\n return ue(\"SuspenseList\");\n }\n if (typeof a == \"object\")\n switch (a.$$typeof) {\n case c:\n return St(a.render);\n case h:\n return we(a.type);\n case E: {\n var F = a, L = F._payload, B = F._init;\n try {\n return we(B(L));\n } catch {\n }\n }\n }\n return \"\";\n }\n var be = Object.prototype.hasOwnProperty, Ve = {}, Ge = v.ReactDebugCurrentFrame;\n function Ee(a) {\n if (a) {\n var x = we(a.type);\n Ge.setExtraStackFrame(x);\n } else\n Ge.setExtraStackFrame(null);\n }\n function Tt(a, x, w, F, L) {\n {\n var B = Function.call.bind(be);\n for (var T in a)\n if (B(a, T)) {\n var S = void 0;\n try {\n if (typeof a[T] != \"function\") {\n var U = Error((F || \"React class\") + \": \" + w + \" type `\" + T + \"` is invalid; it must be a function, usually from the `prop-types` package, but received `\" + typeof a[T] + \"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");\n throw U.name = \"Invariant Violation\", U;\n }\n S = a[T](x, T, F, w, null, \"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\");\n } catch (N) {\n S = N;\n }\n S && !(S instanceof Error) && (Ee(L), f(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\", F || \"React class\", w, T, typeof S), Ee(null)), S instanceof Error && !(S.message in Ve) && (Ve[S.message] = !0, Ee(L), f(\"Failed %s type: %s\", w, S.message), Ee(null));\n }\n }\n }\n var Rt = Array.isArray;\n function Le(a) {\n return Rt(a);\n }\n function Lt(a) {\n {\n var x = typeof Symbol == \"function\" && Symbol.toStringTag, w = x && a[Symbol.toStringTag] || a.constructor.name || \"Object\";\n return w;\n }\n }\n function Bt(a) {\n try {\n return !1;\n } catch {\n return !0;\n }\n }\n function Dt(a) {\n return \"\" + a;\n }\n function qe(a) {\n if (Bt())\n return f(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\", Lt(a)), Dt(a);\n }\n var It = v.ReactCurrentOwner, Ot = {\n key: !0,\n ref: !0,\n __self: !0,\n __source: !0\n }, Ze, We;\n function Nt(a) {\n if (be.call(a, \"ref\")) {\n var x = Object.getOwnPropertyDescriptor(a, \"ref\").get;\n if (x && x.isReactWarning)\n return !1;\n }\n return a.ref !== void 0;\n }\n function Pt(a) {\n if (be.call(a, \"key\")) {\n var x = Object.getOwnPropertyDescriptor(a, \"key\").get;\n if (x && x.isReactWarning)\n return !1;\n }\n return a.key !== void 0;\n }\n function $t(a, x) {\n {\n var w = function() {\n Ze || (Ze = !0, f(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\", x));\n };\n w.isReactWarning = !0, Object.defineProperty(a, \"key\", {\n get: w,\n configurable: !0\n });\n }\n }\n function Ht(a, x) {\n {\n var w = function() {\n We || (We = !0, f(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\", x));\n };\n w.isReactWarning = !0, Object.defineProperty(a, \"ref\", {\n get: w,\n configurable: !0\n });\n }\n }\n var Mt = function(a, x, w, F, L, B, T) {\n var S = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: t,\n // Built-in properties that belong on the element\n type: a,\n key: x,\n ref: w,\n props: T,\n // Record the component responsible for creating this element.\n _owner: B\n };\n return S._store = {}, Object.defineProperty(S._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: !1\n }), Object.defineProperty(S, \"_self\", {\n configurable: !1,\n enumerable: !1,\n writable: !1,\n value: F\n }), Object.defineProperty(S, \"_source\", {\n configurable: !1,\n enumerable: !1,\n writable: !1,\n value: L\n }), Object.freeze && (Object.freeze(S.props), Object.freeze(S)), S;\n };\n function Ut(a, x, w, F, L) {\n {\n var B, T = {}, S = null, U = null;\n w !== void 0 && (qe(w), S = \"\" + w), Pt(x) && (qe(x.key), S = \"\" + x.key), Nt(x) && (U = x.ref);\n for (B in x)\n be.call(x, B) && !Ot.hasOwnProperty(B) && (T[B] = x[B]);\n if (a && a.defaultProps) {\n var N = a.defaultProps;\n for (B in N)\n T[B] === void 0 && (T[B] = N[B]);\n }\n if (S || U) {\n var $ = typeof a == \"function\" ? a.displayName || a.name || \"Unknown\" : a;\n S && $t(T, $), U && Ht(T, $);\n }\n return Mt(a, S, U, L, F, It.current, T);\n }\n }\n var Be = v.ReactCurrentOwner, Ye = v.ReactDebugCurrentFrame;\n function de(a) {\n if (a) {\n var x = we(a.type);\n Ye.setExtraStackFrame(x);\n } else\n Ye.setExtraStackFrame(null);\n }\n var De;\n De = !1;\n function Ie(a) {\n return typeof a == \"object\" && a !== null && a.$$typeof === t;\n }\n function Ke() {\n {\n if (Be.current) {\n var a = K(Be.current.type);\n if (a)\n return `\n\nCheck the render method of \\`` + a + \"`.\";\n }\n return \"\";\n }\n }\n function zt(a) {\n return \"\";\n }\n var Xe = {};\n function Vt(a) {\n {\n var x = Ke();\n if (!x) {\n var w = typeof a == \"string\" ? a : a.displayName || a.name;\n w && (x = `\n\nCheck the top-level render call using <` + w + \">.\");\n }\n return x;\n }\n }\n function Je(a, x) {\n {\n if (!a._store || a._store.validated || a.key != null)\n return;\n a._store.validated = !0;\n var w = Vt(x);\n if (Xe[w])\n return;\n Xe[w] = !0;\n var F = \"\";\n a && a._owner && a._owner !== Be.current && (F = \" It was passed a child from \" + K(a._owner.type) + \".\"), de(a), f('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', w, F), de(null);\n }\n }\n function Qe(a, x) {\n {\n if (typeof a != \"object\")\n return;\n if (Le(a))\n for (var w = 0; w < a.length; w++) {\n var F = a[w];\n Ie(F) && Je(F, x);\n }\n else if (Ie(a))\n a._store && (a._store.validated = !0);\n else if (a) {\n var L = y(a);\n if (typeof L == \"function\" && L !== a.entries)\n for (var B = L.call(a), T; !(T = B.next()).done; )\n Ie(T.value) && Je(T.value, x);\n }\n }\n }\n function Gt(a) {\n {\n var x = a.type;\n if (x == null || typeof x == \"string\")\n return;\n var w;\n if (typeof x == \"function\")\n w = x.propTypes;\n else if (typeof x == \"object\" && (x.$$typeof === c || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n x.$$typeof === h))\n w = x.propTypes;\n else\n return;\n if (w) {\n var F = K(x);\n Tt(w, a.props, \"prop\", F, a);\n } else if (x.PropTypes !== void 0 && !De) {\n De = !0;\n var L = K(x);\n f(\"Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?\", L || \"Unknown\");\n }\n typeof x.getDefaultProps == \"function\" && !x.getDefaultProps.isReactClassApproved && f(\"getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.\");\n }\n }\n function qt(a) {\n {\n for (var x = Object.keys(a.props), w = 0; w < x.length; w++) {\n var F = x[w];\n if (F !== \"children\" && F !== \"key\") {\n de(a), f(\"Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.\", F), de(null);\n break;\n }\n }\n a.ref !== null && (de(a), f(\"Invalid attribute `ref` supplied to `React.Fragment`.\"), de(null));\n }\n }\n var et = {};\n function tt(a, x, w, F, L, B) {\n {\n var T = J(a);\n if (!T) {\n var S = \"\";\n (a === void 0 || typeof a == \"object\" && a !== null && Object.keys(a).length === 0) && (S += \" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\");\n var U = zt();\n U ? S += U : S += Ke();\n var N;\n a === null ? N = \"null\" : Le(a) ? N = \"array\" : a !== void 0 && a.$$typeof === t ? (N = \"<\" + (K(a.type) || \"Unknown\") + \" />\", S = \" Did you accidentally export a JSX literal instead of a component?\") : N = typeof a, f(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\", N, S);\n }\n var $ = Ut(a, x, w, L, B);\n if ($ == null)\n return $;\n if (T) {\n var W = x.children;\n if (W !== void 0)\n if (F)\n if (Le(W)) {\n for (var pe = 0; pe < W.length; pe++)\n Qe(W[pe], a);\n Object.freeze && Object.freeze(W);\n } else\n f(\"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\");\n else\n Qe(W, a);\n }\n if (be.call(x, \"key\")) {\n var ce = K(a), G = Object.keys(x).filter(function(Jt) {\n return Jt !== \"key\";\n }), Oe = G.length > 0 ? \"{key: someKey, \" + G.join(\": ..., \") + \": ...}\" : \"{key: someKey}\";\n if (!et[ce + Oe]) {\n var Xt = G.length > 0 ? \"{\" + G.join(\": ..., \") + \": ...}\" : \"{}\";\n f(`A props object containing a \"key\" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />`, Oe, ce, Xt, ce), et[ce + Oe] = !0;\n }\n }\n return a === i ? qt($) : Gt($), $;\n }\n }\n function Zt(a, x, w) {\n return tt(a, x, w, !0);\n }\n function Wt(a, x, w) {\n return tt(a, x, w, !1);\n }\n var Yt = Wt, Kt = Zt;\n xe.Fragment = i, xe.jsx = Yt, xe.jsxs = Kt;\n })()), xe;\n}\nvar nt;\nfunction or() {\n return nt || (nt = 1, process.env.NODE_ENV === \"production\" ? Fe.exports = /* @__PURE__ */ lr() : Fe.exports = /* @__PURE__ */ ir()), Fe.exports;\n}\nvar n = /* @__PURE__ */ or();\nconst ht = ({\n variant: e = \"primary\",\n size: t = \"medium\",\n text: r,\n iconBefore: i,\n iconAfter: s,\n className: g,\n disabled: o = !1,\n ...b\n}) => /* @__PURE__ */ n.jsx(\n \"button\",\n {\n className: D(\n \"flex gap-2 justify-center items-center rounded-lg disabled:pointer-events-none\",\n sr(e),\n cr(t),\n g\n ),\n disabled: o,\n ...b,\n children: /* @__PURE__ */ n.jsxs(\n me.Provider,\n {\n value: {\n size: t === \"xsmall\" ? 8 : 16,\n weight: \"regular\",\n className: D(lt(e, o))\n },\n children: [\n i && i,\n r && /* @__PURE__ */ n.jsx(\"span\", { className: D(lt(e, o), ur(t)), children: r }),\n s && s\n ]\n }\n )\n }\n), sr = (e) => {\n switch (e) {\n case \"primary\":\n return \"border border-grey-0/0 bg-primary-action-button-light dark:bg-primary-action-button-dark hover:bg-primary-action-button-hover-light dark:hover:bg-primary-action-button-hover-dark disabled:bg-primary-action-disabled-light dark:disabled:bg-primary-action-disabled-dark\";\n case \"secondary\":\n return \"border border-grey-0/0 bg-secondary-action-base-light dark:bg-secondary-action-base-dark hover:bg-system-neutral-grey-8-light dark:hover:bg-system-neutral-grey-8-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark\";\n case \"neutral\":\n return \"border border-separator-regular-light dark:border-separator-regular-dark hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark\";\n case \"subtle\":\n return \"border border-grey-0/0 hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark\";\n }\n}, lt = (e, t) => {\n if (t) return \"text-label-tertiary-light dark:text-label-tertiary-dark\";\n switch (e) {\n case \"primary\":\n return \"text-nonadaptable-text-light\";\n case \"secondary\":\n return \"text-label-quaternary-light dark:text-label-quaternary-dark\";\n case \"neutral\":\n return \"text-label-primary-light dark:text-label-primary-dark\";\n case \"subtle\":\n return \"text-label-primary-light dark:text-label-primary-dark\";\n }\n}, cr = (e) => {\n switch (e) {\n case \"xsmall\":\n return \"p-1\";\n case \"small\":\n return \"p-2\";\n case \"medium\":\n return \"p-3\";\n }\n}, ur = (e) => {\n switch (e) {\n case \"xsmall\":\n return \"text-[10px] leading-[14px]\";\n case \"small\":\n return \"text-[13px] leading-[14px]\";\n case \"medium\":\n return \"text-[15px] leading-[16px] -tracking-0,1\";\n }\n}, it = ({ text: e, active: t = !1 }) => /* @__PURE__ */ n.jsx(\n \"div\",\n {\n className: D(\n \"flex p-2 rounded-lg hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark\",\n t && \"bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\"\n ),\n children: /* @__PURE__ */ n.jsx(z, { variant: \"B2Button\", children: e })\n }\n), dr = ({ text: e, selected: t, significance: r, onClick: i }) => /* @__PURE__ */ n.jsx(\n \"button\",\n {\n onClick: i,\n className: D(\n \"flex items-center p-2 border border-grey-0/0\",\n t && \"border-b-label-primary-light dark:border-b-label-primary-dark\"\n ),\n children: /* @__PURE__ */ n.jsx(z, { variant: \"B2Button\", significance: r, children: e })\n }\n), $a = ({\n variant: e = \"primary\",\n size: t = \"medium\",\n text: r,\n iconBefore: i,\n iconAfter: s,\n className: g,\n disabled: o = !1,\n ...b\n}) => {\n const c = !r && (!!i || !!s);\n return /* @__PURE__ */ n.jsx(\n \"button\",\n {\n className: D(\n \"flex gap-2 justify-center items-center group\",\n pr(e),\n gr(t),\n {\n \"rounded-full\": c,\n \"rounded-md\": !c\n },\n g\n ),\n disabled: o,\n ...b,\n children: /* @__PURE__ */ n.jsx(n.Fragment, { children: /* @__PURE__ */ n.jsxs(\n me.Provider,\n {\n value: {\n size: t === \"xsmall\" ? 8 : 16,\n weight: \"regular\",\n className: D(ot(e), {\n \"[&]:text-label-tertiary-light dark:[&]:text-label-tertiary-dark group-hover:[&]:text-label-tertiary-light dark:group-hover:[&]:text-label-tertiary-dark\": o\n })\n },\n children: [\n i && i,\n r && /* @__PURE__ */ n.jsx(\n z,\n {\n variant: t === \"xsmall\" ? \"M\" : t === \"small\" ? \"B2Button\" : \"B1Button\",\n className: D(ot(e), {\n \"[&]:text-label-tertiary-light dark:[&]:text-label-tertiary-dark group-hover:[&]:text-label-tertiary-light dark:group-hover:[&]:text-label-tertiary-dark\": o\n }),\n children: r\n }\n ),\n s && s\n ]\n }\n ) })\n }\n );\n}, pr = (e) => {\n switch (e) {\n case \"primary\":\n return \"bg-danger-background-light dark:bg-danger-background-dark hover:bg-danger-hover-light dark:hover:bg-danger-hover-dark disabled:bg-primary-action-disabled-light dark:disabled:bg-primary-action-disabled-dark disabled:border disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark\";\n case \"subtle\":\n return \"hover:bg-danger-background-light dark:hover:bg-danger-background-dark border border-[rgba(255,255,255,0.0)] hover:border-danger-accessible-light dark:hover:border-danger-accessible-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark\";\n }\n}, ot = (e) => {\n switch (e) {\n case \"primary\":\n return \"[&]:text-danger-accessible-light dark:[&]:text-danger-accessible-dark group-hover:text-label-quaternary-light dark:group-hover:text-label-quaternary-dark\";\n case \"subtle\":\n return \"[&]:text-danger-accessible-light dark:[&]:text-danger-accessible-dark\";\n }\n}, gr = (e) => {\n switch (e) {\n case \"xsmall\":\n return \"p-1\";\n case \"small\":\n return \"p-2\";\n case \"medium\":\n return \"p-3\";\n }\n}, Ha = ({\n label: e,\n selectedKey: t,\n setSelectedKey: r,\n options: i\n}) => {\n const s = i.find((c) => c.key === t), [g, o] = ge(!1), { ref: b } = Ue({\n isActive: g,\n onDismiss: () => o(!1)\n });\n return /* @__PURE__ */ n.jsxs(\"div\", { ref: b, className: \"flex flex-col gap-3 pt-4 pb-6\", children: [\n e && /* @__PURE__ */ n.jsx(\n \"div\",\n {\n onClick: () => o(!g),\n \"aria-expanded\": g,\n \"aria-controls\": \"dropdown-menu\",\n role: \"label\",\n className: \"flex cursor-pointer\",\n children: /* @__PURE__ */ n.jsx(z, { variant: \"H4\", children: e })\n }\n ),\n /* @__PURE__ */ n.jsxs(\"div\", { className: \"flex flex-col\", children: [\n /* @__PURE__ */ n.jsxs(\n \"button\",\n {\n role: \"button\",\n \"aria-expanded\": g,\n \"aria-controls\": \"dropdown-menu\",\n onClick: () => o(!g),\n className: \"flex items-center gap-2 justify-between px-2 py-3 border rounded-lg border-separator-regular-light dark:border-separator-regular-dark\",\n children: [\n /* @__PURE__ */ n.jsx(z, { variant: \"B1Button\", children: s?.value }),\n /* @__PURE__ */ n.jsx(rr, { size: 16 })\n ]\n }\n ),\n /* @__PURE__ */ n.jsx(\"div\", { className: \"flex flex-col relative\", children: g && /* @__PURE__ */ n.jsx(\"div\", { className: \"flex flex-col absolute w-full top-1 gap-2 px-2 py-3 shadow-lg rounded-lg z-10 backdrop-blur-xl bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark border-separator-regular-light dark:border-separator-regular-dark\", children: i.map((c) => /* @__PURE__ */ n.jsx(\n \"button\",\n {\n role: \"option\",\n \"aria-selected\": c.key === t,\n \"aria-label\": c.value,\n \"aria-controls\": \"dropdown-menu\",\n \"aria-expanded\": g,\n className: D(\n \"flex items-center gap-2 py-1 px-2 rounded-sm text-label-primary-light dark:text-label-primary-dark hover:bg-overlay-fill-default-light dark:hover:bg-overlay-fill-default-dark\",\n c.key === t && \"bg-overlay-fill-default-light dark:bg-overlay-fill-default-dark\"\n ),\n onClick: () => {\n r(c.key), o(!1);\n },\n children: /* @__PURE__ */ n.jsx(z, { variant: \"B2\", children: c.value })\n },\n c.key\n )) }) })\n ] })\n ] });\n};\nfunction xt(e) {\n var t, r, i = \"\";\n if (typeof e == \"string\" || typeof e == \"number\") i += e;\n else if (typeof e == \"object\") if (Array.isArray(e)) {\n var s = e.length;\n for (t = 0; t < s; t++) e[t] && (r = xt(e[t])) && (i && (i += \" \"), i += r);\n } else for (r in e) e[r] && (i && (i += \" \"), i += r);\n return i;\n}\nfunction $e() {\n for (var e, t, r = 0, i = \"\", s = arguments.length; r < s; r++) (e = arguments[r]) && (t = xt(e)) && (i && (i += \" \"), i += t);\n return i;\n}\nconst D = $e, z = ({ children: e, className: t, variant: r = \"B1\", significance: i = \"primary\", as: s }) => {\n const g = s ?? yr[r], o = ye[r];\n return /* @__PURE__ */ n.jsx(g, { className: D(\"font-sans\", fr[i], t, o), children: e });\n}, ye = {\n Di1: \"text-[72px] font-bold leading-[90px] -tracking-2,5\",\n Di2: \"text-[60px] font-bold leading-[72px] -tracking-2,0\",\n Di3: \"text-[48px] font-bold leading-[60px] -tracking-1,5\",\n T1: \"text-[40px] font-bold leading-[48px] -tracking-1,5\",\n T2: \"text-[32px] font-bold leading-[40px] -tracking-1\",\n T3: \"text-[24px] font-bold leading-[32px] -tracking-0,5\",\n H1: \"text-[24px] font-bold leading-[32px] -tracking-0,5\",\n H2: \"text-[20px] font-bold leading-[24px]\",\n H3: \"text-[15px] font-bold leading-[20px]\",\n H4: \"text-[13px] font-bold leading-[16px]\",\n B1B: \"text-[15px] font-bold leading-[24px] -tracking-0,1\",\n B1: \"text-[15px] leading-[24px] -tracking-0,1\",\n B1Button: \"text-[15px] leading-[16px] -tracking-0,1\",\n B2: \"text-[13px] leading-[20px]\",\n B2Button: \"text-[13px] leading-[16px]\",\n D1B: \"text-[12px] font-bold leading-[16px]\",\n D1: \"text-[12px] leading-[16px]\",\n M: \"text-[10px] leading-[16px]\"\n}, yr = {\n Di1: \"h1\",\n Di2: \"h2\",\n Di3: \"h3\",\n T1: \"h1\",\n T2: \"h2\",\n T3: \"h3\",\n H1: \"h1\",\n H2: \"h2\",\n H3: \"h3\",\n H4: \"h4\",\n B1B: \"p\",\n B1: \"p\",\n B1Button: \"span\",\n B2: \"p\",\n B2Button: \"span\",\n D1B: \"p\",\n D1: \"p\",\n M: \"p\"\n}, fr = {\n primary: \"text-label-primary-light dark:text-label-primary-dark\",\n secondary: \"text-label-secondary-light dark:text-label-secondary-dark\",\n tertiary: \"text-label-tertiary-light dark:text-label-tertiary-dark\",\n quaternary: \"text-label-quaternary-light dark:text-label-quaternary-dark\",\n placeholder: \"text-label-placeholder-light dark:text-label-placeholder-dark\",\n \"nonadaptable-text\": \"text-nonadaptable-text-light dark:text-nonadaptable-text-dark\",\n disabled: \"text-primary-action-disabled-light dark:text-primary-action-disabled-dark\"\n}, Ma = ({ children: e, className: t, variant: r = \"B1\", significance: i = \"primary\", as: s }) => {\n const g = s ?? hr[r], o = br[r];\n return /* @__PURE__ */ n.jsx(g, { className: D(\"font-code\", xr[i], t, o), children: e });\n}, br = {\n B1B: \"text-[15px] font-bold leading-[24px]\",\n B1: \"text-[15px] leading-[24px]\",\n B1Button: \"text-[15px] leading-[16px]\",\n B2: \"text-[13px] leading-[20px]\",\n B2Button: \"text-[13px] leading-[16px]\"\n}, hr = {\n B1B: \"p\",\n B1: \"p\",\n B1Button: \"span\",\n B2: \"p\",\n B2Button: \"span\"\n}, xr = {\n primary: \"text-label-primary-light dark:text-label-primary-dark\",\n secondary: \"text-label-secondary-light dark:text-label-secondary-dark\",\n tertiary: \"text-label-tertiary-light dark:text-label-tertiary-dark\",\n quaternary: \"text-label-quaternary-light dark:text-label-quaternary-dark\",\n placeholder: \"text-label-placeholder-light dark:text-label-placeholder-dark\",\n \"nonadaptable-text\": \"text-nonadaptable-text-light dark:text-nonadaptable-text-dark\",\n disabled: \"text-primary-action-disabled-light dark:text-primary-action-disabled-dark\"\n}, Ua = ({ children: e, className: t, variant: r = \"H1B\", significance: i = \"primary\", as: s }) => {\n const g = s ?? kr[r], o = mr[r];\n return /* @__PURE__ */ n.jsx(g, { className: D(\"font-mc\", vr[i], t, o), children: e });\n}, mr = {\n Di1: \"text-[72px] font-semibold leading-[90px] -tracking-0,1\",\n Di2: \"text-[60px] font-semibold leading-[72px] -tracking-0,1\",\n Di3: \"text-[48px] font-semibold leading-[60px] -tracking-0,1\",\n T1: \"text-[40px] font-semibold leading-[48px]\",\n T2: \"text-[32px] font-semibold leading-[40px]\",\n T3: \"text-[24px] font-semibold leading-[32px]\",\n H1B: \"text-[24px] font-semibold leading-[32px]\",\n H1: \"text-[24px] font-medium leading-[32px]\",\n H2B: \"text-[20px] font-semibold leading-[24px]\",\n H2: \"text-[20px] font-medium leading-[24px]\",\n H3B: \"text-[15px] font-semibold leading-[20px]\",\n H3: \"text-[15px] font-medium leading-[20px]\"\n}, kr = {\n Di1: \"h1\",\n Di2: \"h2\",\n Di3: \"h3\",\n T1: \"h1\",\n T2: \"h2\",\n T3: \"h3\",\n H1: \"h1\",\n H1B: \"h1\",\n H2: \"h2\",\n H2B: \"h2\",\n H3: \"h3\",\n H3B: \"h3\"\n}, vr = {\n primary: \"text-label-primary-light dark:text-label-primary-dark\",\n secondary: \"text-label-secondary-light dark:text-label-secondary-dark\",\n tertiary: \"text-label-tertiary-light dark:text-label-tertiary-dark\",\n quaternary: \"text-label-quaternary-light dark:text-label-quaternary-dark\",\n placeholder: \"text-label-placeholder-light dark:text-label-placeholder-dark\",\n \"nonadaptable-text\": \"text-nonadaptable-text-light dark:text-nonadaptable-text-dark\",\n disabled: \"text-primary-action-disabled-light dark:text-primary-action-disabled-dark\"\n}, za = ({\n textVariant: e = \"B1\",\n significance: t = \"primary\",\n placeholder: r,\n value: i,\n onSave: s,\n onCancel: g,\n onChange: o,\n initialState: b = \"view\",\n autoEdit: c = \"off\",\n saveOnBlur: m = !1\n}) => {\n const [k, h] = ge(b === \"edit\"), E = Pe(null);\n Se(() => {\n k && (c === \"on\" && E.current?.focus(), c === \"mark\" && E.current?.select());\n }, [E, c, k]);\n const _ = async () => {\n h(!1), await s?.();\n }, d = (u) => {\n if (u.key === \"Enter\") {\n _();\n return;\n }\n if (u.key === \"Escape\") {\n h(!1), g?.();\n return;\n }\n };\n return /* @__PURE__ */ n.jsx(\"div\", { className: \"flex grow\", children: k ? /* @__PURE__ */ n.jsx(\n \"input\",\n {\n className: D(\n ye[e],\n \"outline-hidden w-full\",\n `text-label-${t}-light dark:text-label-${t}-dark bg-transparent placeholder:text-label-placeholder-light dark:placeholder:text-label-placeholder-dark`\n ),\n value: i,\n onChange: (u) => {\n o?.(u.target.value);\n },\n onBlur: m ? _ : void 0,\n onKeyUp: d,\n ref: E,\n placeholder: r\n }\n ) : /* @__PURE__ */ n.jsx(\"button\", { onClick: () => h(!0), children: /* @__PURE__ */ n.jsx(z, { variant: e, significance: t, children: i }) }) });\n}, Va = ({ placeholder: e, value: t, onChange: r, onClear: i, disabled: s, size: g = \"medium\" }) => {\n const o = g === \"small\" ? \"p-2\" : \"py-3 px-4\", b = \"text-label-primary-light dark:text-label-primary-dark placeholder:text-label-placeholder-light dark:placeholder:text-label-placeholder-dark disabled:text-primary-action-disabled-light dark:disabled:text-primary-action-disabled-dark\";\n return /* @__PURE__ */ n.jsxs(\n \"div\",\n {\n \"aria-disabled\": s,\n className: D(\n \"flex gap-2 rounded-lg border items-center\",\n o,\n \"border-separator-regular-light dark:border-separator-regular-dark\",\n \"bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\"\n ),\n children: [\n /* @__PURE__ */ n.jsx(\n \"input\",\n {\n type: \"text\",\n placeholder: e,\n value: t,\n onChange: (c) => r?.(c.target.value),\n disabled: s,\n className: D(\"flex-1 bg-transparent outline-hidden\", b, {\n [ye.B1Button]: g === \"medium\",\n [ye.B2Button]: g === \"small\"\n })\n }\n ),\n /* @__PURE__ */ n.jsx(\"button\", { onClick: i, disabled: s, className: b, children: t ? /* @__PURE__ */ n.jsx(ft, { size: 16 }) : /* @__PURE__ */ n.jsx(ar, { size: 16 }) })\n ]\n }\n );\n}, Ga = ({ options: e, onChange: t, selectedValue: r, size: i = \"small\", contrast: s = \"low\" }) => {\n const g = {\n small: {\n wrapper: \"p-[2px] rounded-[8px]\",\n icon: 16,\n button: \"h-[28px] w-[28px] rounded-[6px]\"\n },\n xsmall: {\n wrapper: \"p-[1.5px] rounded-[6px]\",\n icon: 12,\n button: \"h-[21px] w-[21px] rounded-[4.5px]\"\n },\n xxsmall: {\n wrapper: \"p-[1.25px] rounded-[5px]\",\n icon: 12,\n button: \"h-[17.5px] w-[17.5px] rounded-[3.75px]\"\n }\n }, o = s === \"high\" ? \"bg-secondary-action-base-light dark:bg-secondary-action-base-dark text-label-quaternary-light dark:text-label-quaternary-dark\" : \"bg-background-grouped-secondary-light dark:bg-background-grouped-secondary-dark text-label-primary-light dark:text-label-primary-dark\";\n return /* @__PURE__ */ n.jsx(\n \"div\",\n {\n className: D(\n \"flex bg-overlay-fill-alternative-light dark:bg-overlay-fill-alternative-dark\",\n g[i].wrapper\n ),\n children: e.map((b) => /* @__PURE__ */ n.jsx(\n \"button\",\n {\n onClick: () => t(b.value),\n className: D(\n \"flex items-center justify-center\",\n g[i].button,\n {\n [o]: b.value === r\n },\n {\n \"text-label-secondary-light dark:text-label-secondary-dark\": b.value !== r\n }\n ),\n children: /* @__PURE__ */ n.jsx(me.Provider, { value: { size: g[i].icon }, children: b.icon })\n },\n b.value\n ))\n }\n );\n}, qa = ({\n label: e,\n description: t,\n variant: r = \"medium\",\n className: i,\n inputClassName: s,\n value: g,\n rules: o = [],\n onUpdate: b,\n onBlur: c,\n onChange: m,\n labelOnlyForScreenReaders: k,\n disabled: h,\n autoEdit: E = !1,\n ..._\n}) => {\n const [d, u] = ge(g), [y, v] = ge(!1), [f, C] = ge([]), A = Pe(null);\n Se(() => {\n u(g), E && A.current?.focus();\n }, [g, E]);\n const R = (j) => {\n const O = j.target.value;\n y && C(o.map((H) => H(O, e || \"\")).filter(Boolean)), u(O);\n }, P = () => {\n C(o.map((j) => j(d, e || \"\")).filter(Boolean)), v(!0);\n };\n return /* @__PURE__ */ n.jsxs(\"label\", { className: D(i, \"flex flex-col gap-2 grow\", k && \"sr-only\"), children: [\n e && /* @__PURE__ */ n.jsx(z, { variant: r === \"small\" ? \"B2\" : \"B1\", significance: h ? \"disabled\" : \"primary\", children: e }),\n t && /* @__PURE__ */ n.jsx(\n z,\n {\n significance: h ? \"disabled\" : \"secondary\",\n variant: r === \"small\" ? \"B2Button\" : \"B1Button\",\n children: t\n }\n ),\n /* @__PURE__ */ n.jsx(\n \"input\",\n {\n className: D(\n s,\n \"border-solid border focus:outline-hidden rounded-lg bg-background-primary-light dark:bg-background-primary-dark\",\n {\n \"px-4 py-3\": r === \"medium\",\n \"px-4 py-2\": r === \"small\",\n [ye.B1Button]: r === \"medium\",\n [ye.B2Button]: r === \"small\",\n \"text-label-primary-light dark:text-label-primary-dark\": !h,\n \"text-label-placeholder-light dark:text-label-placeholder-dark\": h,\n \"border-separator-opaque-light dark:border-separator-opaque-dark\": f.length === 0,\n \"border-danger-default-light dark:border-danger-default-dark\": f.length > 0\n }\n ),\n value: d,\n onChange: (j) => {\n R(j), m?.(j);\n },\n onBlur: (j) => {\n P(), b?.(d), c?.(j);\n },\n onMouseUp: (j) => j.preventDefault(),\n ref: A,\n ..._\n }\n ),\n f.map((j, O) => /* @__PURE__ */ n.jsx(\n z,\n {\n as: \"p\",\n variant: r === \"small\" ? \"B2Button\" : \"B1Button\",\n significance: h ? \"disabled\" : \"primary\",\n children: j\n },\n O\n ))\n ] });\n}, Za = ({\n isOn: e,\n onChange: t,\n size: r = \"medium\",\n onBackgroundColor: i,\n offIcon: s,\n onIcon: g,\n ariaLabel: o\n}) => {\n const b = i || \"bg-overlay-fill-alternative-light\", c = {\n medium: {\n wrapper: \"h-[40px] w-[65px] p-[2.5px] rounded-[10px]\",\n icon: 20,\n button: \"h-[35px] w-[35px] rounded-[7.5px]\",\n translateX: \"translate-x-[25px]\"\n },\n small: {\n wrapper: \"h-[32px] w-[52px] p-[2px] rounded-[8px]\",\n icon: 16,\n button: \"h-[28px] w-[28px] rounded-[6px]\",\n translateX: \"translate-x-[20px]\"\n },\n xsmall: {\n wrapper: \"h-[24px] w-[39px] p-[1.5px] rounded-[6px]\",\n icon: 12,\n button: \"h-[21px] w-[21px] rounded-[4.5px]\",\n translateX: \"translate-x-[15px]\"\n },\n xxsmall: {\n wrapper: \"h-[20px] w-[32.5px] p-[1.5px] rounded-[5px]\",\n icon: 10,\n button: \"h-[17.5px] w-[17.5px] rounded-[3.75px]\",\n translateX: \"translate-x-[12px]\"\n }\n };\n return /* @__PURE__ */ n.jsx(\"div\", { className: \"flex items-center\", children: /* @__PURE__ */ n.jsx(\n \"div\",\n {\n className: D(\n \"transition-colors duration-300 ease-in-out flex items-center\",\n c[r].wrapper,\n {\n [b]: e\n },\n {\n \"bg-overlay-fill-alternative-light\": !e\n }\n ),\n children: /* @__PURE__ */ n.jsx(\n \"button\",\n {\n onClick: () => {\n t(!e);\n },\n \"aria-label\": o,\n className: D(\n \"flex transition-transform duration-300 ease-in-out items-center justify-center text-nonadaptable-text-dark bg-nonadaptable-text-light\",\n c[r].button,\n {\n [`${c[r].translateX} `]: e\n }\n ),\n children: /* @__PURE__ */ n.jsxs(me.Provider, { value: { size: c[r].icon }, children: [\n g && e && g,\n s && !e && s\n ] })\n }\n )\n }\n ) });\n}, Wa = ({\n options: e,\n selectedFirst: t,\n selectedSecond: r,\n onSelectedFirst: i,\n onSelectedSecond: s,\n onClear: g\n}) => /* @__PURE__ */ n.jsxs(\"div\", { className: \"flex gap-3 py-3\", children: [\n t && /* @__PURE__ */ n.jsx(ht, { variant: \"neutral\", size: \"small\", iconAfter: /* @__PURE__ */ n.jsx(ft, {}), onClick: g }),\n t ? e.filter((o) => o.key === t.key).map((o) => /* @__PURE__ */ n.jsxs(pt, { children: [\n /* @__PURE__ */ n.jsx(it, { text: o.value, active: !0 }),\n o.options.map((b) => /* @__PURE__ */ n.jsx(\n dr,\n {\n onClick: () => s(b),\n selected: r?.key == b.key,\n text: b.value,\n significance: r?.key == b.key || !r ? \"primary\" : \"secondary\"\n },\n b.key\n ))\n ] }, o.key)) : e.map((o) => /* @__PURE__ */ n.jsx(\"button\", { onClick: () => i(o), children: /* @__PURE__ */ n.jsx(it, { text: o.value }) }, o.key))\n] }), Ya = ({ groups: e, align: t = \"left\", onDismiss: r, grow: i = !1 }) => {\n const s = e.some((o) => o.items.some((b) => b.selected)), { ref: g } = Ue({\n isActive: !!r,\n onDismiss: () => r?.(),\n includeEscape: !0\n });\n return /* @__PURE__ */ n.jsx(\"div\", { ref: g, className: D(\"relative\", { \"flex flex-col grow\": i }), children: /* @__PURE__ */ n.jsx(\n \"div\",\n {\n className: D(\n \"absolute top-1 shadow-lg p-4 rounded-lg z-10 backdrop-blur-xl bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\",\n {\n \"right-0\": t === \"right\",\n \"left-0\": t === \"left\",\n \"w-full\": i,\n \"w-max\": !i\n }\n ),\n children: /* @__PURE__ */ n.jsx(\"div\", { className: \"flex flex-col gap-3\", children: e.map((o, b) => /* @__PURE__ */ n.jsxs(pt, { children: [\n /* @__PURE__ */ n.jsxs(\"div\", { className: \"flex flex-col gap-1\", children: [\n o.title && /* @__PURE__ */ n.jsx(z, { variant: \"D1B\", significance: \"secondary\", children: o.title }),\n o.items.map((c, m) => /* @__PURE__ */ n.jsxs(\n \"button\",\n {\n onClick: c.onClick,\n className: \"flex items-center gap-2 py-1 px-2 rounded-sm text-label-primary-light dark:text-label-primary-dark hover:bg-overlay-fill-default-light dark:hover:bg-overlay-fill-default-dark\",\n children: [\n /* @__PURE__ */ n.jsxs(me.Provider, { value: { size: 16 }, children: [\n s ? /* @__PURE__ */ n.jsx(\"div\", { className: \"shrink-0\", children: c.selected ? /* @__PURE__ */ n.jsx(bt, {}) : /* @__PURE__ */ n.jsx(\"div\", { className: \"w-4 shrink-0\" }) }) : null,\n c.icon\n ] }),\n /* @__PURE__ */ n.jsx(z, { variant: \"B2\", children: c.label })\n ]\n },\n `item-${b}-${m}`\n ))\n ] }),\n b < e.length - 1 && /* @__PURE__ */ n.jsx(Oa, {}, `separator-${b}`)\n ] }, `group-${b}`)) })\n }\n ) });\n};\nvar Cr = Object.create, je = Object.defineProperty, wr = Object.defineProperties, Er = Object.getOwnPropertyDescriptor, Fr = Object.getOwnPropertyDescriptors, mt = Object.getOwnPropertyNames, Ae = Object.getOwnPropertySymbols, _r = Object.getPrototypeOf, He = Object.prototype.hasOwnProperty, kt = Object.prototype.propertyIsEnumerable, st = (e, t, r) => t in e ? je(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Q = (e, t) => {\n for (var r in t || (t = {}))\n He.call(t, r) && st(e, r, t[r]);\n if (Ae)\n for (var r of Ae(t))\n kt.call(t, r) && st(e, r, t[r]);\n return e;\n}, Te = (e, t) => wr(e, Fr(t)), vt = (e, t) => {\n var r = {};\n for (var i in e)\n He.call(e, i) && t.indexOf(i) < 0 && (r[i] = e[i]);\n if (e != null && Ae)\n for (var i of Ae(e))\n t.indexOf(i) < 0 && kt.call(e, i) && (r[i] = e[i]);\n return r;\n}, Ar = (e, t) => function() {\n return t || (0, e[mt(e)[0]])((t = { exports: {} }).exports, t), t.exports;\n}, Sr = (e, t) => {\n for (var r in t)\n je(e, r, { get: t[r], enumerable: !0 });\n}, jr = (e, t, r, i) => {\n if (t && typeof t == \"object\" || typeof t == \"function\")\n for (let s of mt(t))\n !He.call(e, s) && s !== r && je(e, s, { get: () => t[s], enumerable: !(i = Er(t, s)) || i.enumerable });\n return e;\n}, Tr = (e, t, r) => (r = e != null ? Cr(_r(e)) : {}, jr(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n !e || !e.__esModule ? je(r, \"default\", { value: e, enumerable: !0 }) : r,\n e\n)), Rr = Ar({\n \"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js\"(e, t) {\n var r = (function() {\n var i = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i, s = 0, g = {}, o = {\n /**\n * A namespace for utility methods.\n *\n * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n * change or disappear at any time.\n *\n * @namespace\n * @memberof Prism\n */\n util: {\n encode: function d(u) {\n return u instanceof b ? new b(u.type, d(u.content), u.alias) : Array.isArray(u) ? u.map(d) : u.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/\\u00a0/g, \" \");\n },\n /**\n * Returns the name of the type of the given value.\n *\n * @param {any} o\n * @returns {string}\n * @example\n * type(null) === 'Null'\n * type(undefined) === 'Undefined'\n * type(123) === 'Number'\n * type('foo') === 'String'\n * type(true) === 'Boolean'\n * type([1, 2]) === 'Array'\n * type({}) === 'Object'\n * type(String) === 'Function'\n * type(/abc+/) === 'RegExp'\n */\n type: function(d) {\n return Object.prototype.toString.call(d).slice(8, -1);\n },\n /**\n * Returns a unique number for the given object. Later calls will still return the same number.\n *\n * @param {Object} obj\n * @returns {number}\n */\n objId: function(d) {\n return d.__id || Object.defineProperty(d, \"__id\", { value: ++s }), d.__id;\n },\n /**\n * Creates a deep clone of the given object.\n *\n * The main intended use of this function is to clone language definitions.\n *\n * @param {T} o\n * @param {Record<number, any>} [visited]\n * @returns {T}\n * @template T\n */\n clone: function d(u, y) {\n y = y || {};\n var v, f;\n switch (o.util.type(u)) {\n case \"Object\":\n if (f = o.util.objId(u), y[f])\n return y[f];\n v = /** @type {Record<string, any>} */\n {}, y[f] = v;\n for (var C in u)\n u.hasOwnProperty(C) && (v[C] = d(u[C], y));\n return (\n /** @type {any} */\n v\n );\n case \"Array\":\n return f = o.util.objId(u), y[f] ? y[f] : (v = [], y[f] = v, u.forEach(function(A, R) {\n v[R] = d(A, y);\n }), /** @type {any} */\n v);\n default:\n return u;\n }\n },\n /**\n * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n *\n * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n *\n * @param {Element} element\n * @returns {string}\n */\n getLanguage: function(d) {\n for (; d; ) {\n var u = i.exec(d.className);\n if (u)\n return u[1].toLowerCase();\n d = d.parentElement;\n }\n return \"none\";\n },\n /**\n * Sets the Prism `language-xxxx` class of the given element.\n *\n * @param {Element} element\n * @param {string} language\n * @returns {void}\n */\n setLanguage: function(d, u) {\n d.className = d.className.replace(RegExp(i, \"gi\"), \"\"), d.classList.add(\"language-\" + u);\n },\n /**\n * Returns whether a given class is active for `element`.\n *\n * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n * given class is just the given class with a `no-` prefix.\n *\n * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n * ancestors have the given class or the negated version of it, then the default activation will be returned.\n *\n * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n * version of it, the class is considered active.\n *\n * @param {Element} element\n * @param {string} className\n * @param {boolean} [defaultActivation=false]\n * @returns {boolean}\n */\n isActive: function(d, u, y) {\n for (var v = \"no-\" + u; d; ) {\n var f = d.classList;\n if (f.contains(u))\n return !0;\n if (f.contains(v))\n return !1;\n d = d.parentElement;\n }\n return !!y;\n }\n },\n /**\n * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n *\n * @namespace\n * @memberof Prism\n * @public\n */\n languages: {\n /**\n * The grammar for plain, unformatted text.\n */\n plain: g,\n plaintext: g,\n text: g,\n txt: g,\n /**\n * Creates a deep copy of the language with the given id and appends the given tokens.\n *\n * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n * will be overwritten at its original position.\n *\n * ## Best practices\n *\n * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n *\n * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n *\n * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n * @param {Grammar} redef The new tokens to append.\n * @returns {Grammar} The new language created.\n * @public\n * @example\n * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n * // at its original position\n * 'comment': { ... },\n * // CSS doesn't have a 'color' token, so this token will be appended\n * 'color': /\\b(?:red|green|blue)\\b/\n * });\n */\n extend: function(d, u) {\n var y = o.util.clone(o.languages[d]);\n for (var v in u)\n y[v] = u[v];\n return y;\n },\n /**\n * Inserts tokens _before_ another token in a language definition or any other grammar.\n *\n * ## Usage\n *\n * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n * this:\n *\n * ```js\n * Prism.languages.markup.style = {\n * // token\n * };\n * ```\n *\n * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n * before existing tokens. For the CSS example above, you would use it like this:\n *\n * ```js\n * Prism.languages.insertBefore('markup', 'cdata', {\n * 'style': {\n * // token\n * }\n * });\n * ```\n *\n * ## Special cases\n *\n * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n * will be ignored.\n *\n * This behavior can be used to insert tokens after `before`:\n *\n * ```js\n * Prism.languages.insertBefore('markup', 'comment', {\n * 'comment': Prism.languages.markup.comment,\n * // tokens after 'comment'\n * });\n * ```\n *\n * ## Limitations\n *\n * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n * deleting properties which is necessary to insert at arbitrary positions.\n *\n * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n * Instead, it will create a new object and replace all references to the target object with the new one. This\n * can be done without temporarily deleting properties, so the iteration order is well-defined.\n *\n * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n * you hold the target object in a variable, then the value of the variable will not change.\n *\n * ```js\n * var oldMarkup = Prism.languages.markup;\n * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n *\n * assert(oldMarkup !== Prism.languages.markup);\n * assert(newMarkup === Prism.languages.markup);\n * ```\n *\n * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n * object to be modified.\n * @param {string} before The key to insert before.\n * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n * object to be modified.\n *\n * Defaults to `Prism.languages`.\n * @returns {Grammar} The new grammar object.\n * @public\n */\n insertBefore: function(d, u, y, v) {\n v = v || /** @type {any} */\n o.languages;\n var f = v[d], C = {};\n for (var A in f)\n if (f.hasOwnProperty(A)) {\n if (A == u)\n for (var R in y)\n y.hasOwnProperty(R) && (C[R] = y[R]);\n y.hasOwnProperty(A) || (C[A] = f[A]);\n }\n var P = v[d];\n return v[d] = C, o.languages.DFS(o.languages, function(j, O) {\n O === P && j != d && (this[j] = C);\n }), C;\n },\n // Traverse a language definition with Depth First Search\n DFS: function d(u, y, v, f) {\n f = f || {};\n var C = o.util.objId;\n for (var A in u)\n if (u.hasOwnProperty(A)) {\n y.call(u, A, u[A], v || A);\n var R = u[A], P = o.util.type(R);\n P === \"Object\" && !f[C(R)] ? (f[C(R)] = !0, d(R, y, null, f)) : P === \"Array\" && !f[C(R)] && (f[C(R)] = !0, d(R, y, A, f));\n }\n }\n },\n plugins: {},\n /**\n * Low-level function, only use if you know what you’re doing. It accepts a string of text as input\n * and the language definitions to use, and returns a string with the HTML produced.\n *\n * The following hooks will be run:\n * 1. `before-tokenize`\n * 2. `after-tokenize`\n * 3. `wrap`: On each {@link Token}.\n *\n * @param {string} text A string with the code to be highlighted.\n * @param {Grammar} grammar An object containing the tokens to use.\n *\n * Usually a language definition like `Prism.languages.markup`.\n * @param {string} language The name of the language definition passed to `grammar`.\n * @returns {string} The highlighted HTML.\n * @memberof Prism\n * @public\n * @example\n * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n */\n highlight: function(d, u, y) {\n var v = {\n code: d,\n grammar: u,\n language: y\n };\n if (o.hooks.run(\"before-tokenize\", v), !v.grammar)\n throw new Error('The language \"' + v.language + '\" has no grammar.');\n return v.tokens = o.tokenize(v.code, v.grammar), o.hooks.run(\"after-tokenize\", v), b.stringify(o.util.encode(v.tokens), v.language);\n },\n /**\n * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n * and the language definitions to use, and returns an array with the tokenized code.\n *\n * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n *\n * This method could be useful in other contexts as well, as a very crude parser.\n *\n * @param {string} text A string with the code to be highlighted.\n * @param {Grammar} grammar An object containing the tokens to use.\n *\n * Usually a language definition like `Prism.languages.markup`.\n * @returns {TokenStream} An array of strings and tokens, a token stream.\n * @memberof Prism\n * @public\n * @example\n * let code = `var foo = 0;`;\n * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n * tokens.forEach(token => {\n * if (token instanceof Prism.Token && token.type === 'number') {\n * console.log(`Found numeric literal: ${token.content}`);\n * }\n * });\n */\n tokenize: function(d, u) {\n var y = u.rest;\n if (y) {\n for (var v in y)\n u[v] = y[v];\n delete u.rest;\n }\n var f = new k();\n return h(f, f.head, d), m(d, f, u, f.head, 0), _(f);\n },\n /**\n * @namespace\n * @memberof Prism\n * @public\n */\n hooks: {\n all: {},\n /**\n * Adds the given callback to the list of callbacks for the given hook.\n *\n * The callback will be invoked when the hook it is registered for is run.\n * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n *\n * One callback function can be registered to multiple hooks and the same hook multiple times.\n *\n * @param {string} name The name of the hook.\n * @param {HookCallback} callback The callback function which is given environment variables.\n * @public\n */\n add: function(d, u) {\n var y = o.hooks.all;\n y[d] = y[d] || [], y[d].push(u);\n },\n /**\n * Runs a hook invoking all registered callbacks with the given environment variables.\n *\n * Callbacks will be invoked synchronously and in the order in which they were registered.\n *\n * @param {string} name The name of the hook.\n * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n * @public\n */\n run: function(d, u) {\n var y = o.hooks.all[d];\n if (!(!y || !y.length))\n for (var v = 0, f; f = y[v++]; )\n f(u);\n }\n },\n Token: b\n };\n function b(d, u, y, v) {\n this.type = d, this.content = u, this.alias = y, this.length = (v || \"\").length | 0;\n }\n b.stringify = function d(u, y) {\n if (typeof u == \"string\")\n return u;\n if (Array.isArray(u)) {\n var v = \"\";\n return u.forEach(function(P) {\n v += d(P, y);\n }), v;\n }\n var f = {\n type: u.type,\n content: d(u.content, y),\n tag: \"span\",\n classes: [\"token\", u.type],\n attributes: {},\n language: y\n }, C = u.alias;\n C && (Array.isArray(C) ? Array.prototype.push.apply(f.classes, C) : f.classes.push(C)), o.hooks.run(\"wrap\", f);\n var A = \"\";\n for (var R in f.attributes)\n A += \" \" + R + '=\"' + (f.attributes[R] || \"\").replace(/\"/g, \"&quot;\") + '\"';\n return \"<\" + f.tag + ' class=\"' + f.classes.join(\" \") + '\"' + A + \">\" + f.content + \"</\" + f.tag + \">\";\n };\n function c(d, u, y, v) {\n d.lastIndex = u;\n var f = d.exec(y);\n if (f && v && f[1]) {\n var C = f[1].length;\n f.index += C, f[0] = f[0].slice(C);\n }\n return f;\n }\n function m(d, u, y, v, f, C) {\n for (var A in y)\n if (!(!y.hasOwnProperty(A) || !y[A])) {\n var R = y[A];\n R = Array.isArray(R) ? R : [R];\n for (var P = 0; P < R.length; ++P) {\n if (C && C.cause == A + \",\" + P)\n return;\n var j = R[P], O = j.inside, H = !!j.lookbehind, J = !!j.greedy, Y = j.alias;\n if (J && !j.pattern.global) {\n var q = j.pattern.toString().match(/[imsuy]*$/)[0];\n j.pattern = RegExp(j.pattern.source, q + \"g\");\n }\n for (var K = j.pattern || j, I = v.next, M = f; I !== u.tail && !(C && M >= C.reach); M += I.value.length, I = I.next) {\n var ee = I.value;\n if (u.length > d.length)\n return;\n if (!(ee instanceof b)) {\n var ne = 1, V;\n if (J) {\n if (V = c(K, M, d, H), !V || V.index >= d.length)\n break;\n var le = V.index, ke = V.index + V[0].length, X = M;\n for (X += I.value.length; le >= X; )\n I = I.next, X += I.value.length;\n if (X -= I.value.length, M = X, I.value instanceof b)\n continue;\n for (var te = I; te !== u.tail && (X < ke || typeof te.value == \"string\"); te = te.next)\n ne++, X += te.value.length;\n ne--, ee = d.slice(M, X), V.index -= M;\n } else if (V = c(K, 0, ee, H), !V)\n continue;\n var le = V.index, ie = V[0], fe = ee.slice(0, le), ve = ee.slice(le + ie.length), oe = M + ee.length;\n C && oe > C.reach && (C.reach = oe);\n var re = I.prev;\n fe && (re = h(u, re, fe), M += fe.length), E(u, re, ne);\n var ue = new b(A, O ? o.tokenize(ie, O) : ie, Y, ie);\n if (I = h(u, re, ue), ve && h(u, I, ve), ne > 1) {\n var se = {\n cause: A + \",\" + P,\n reach: oe\n };\n m(d, u, y, I.prev, M, se), C && se.reach > C.reach && (C.reach = se.reach);\n }\n }\n }\n }\n }\n }\n function k() {\n var d = { value: null, prev: null, next: null }, u = { value: null, prev: d, next: null };\n d.next = u, this.head = d, this.tail = u, this.length = 0;\n }\n function h(d, u, y) {\n var v = u.next, f = { value: y, prev: u, next: v };\n return u.next = f, v.prev = f, d.length++, f;\n }\n function E(d, u, y) {\n for (var v = u.next, f = 0; f < y && v !== d.tail; f++)\n v = v.next;\n u.next = v, v.prev = u, d.length -= f;\n }\n function _(d) {\n for (var u = [], y = d.head.next; y !== d.tail; )\n u.push(y.value), y = y.next;\n return u;\n }\n return o;\n })();\n t.exports = r, r.default = r;\n }\n}), p = Tr(Rr());\np.languages.markup = { comment: { pattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/, greedy: !0 }, prolog: { pattern: /<\\?[\\s\\S]+?\\?>/, greedy: !0 }, doctype: { pattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i, greedy: !0, inside: { \"internal-subset\": { pattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/, lookbehind: !0, greedy: !0, inside: null }, string: { pattern: /\"[^\"]*\"|'[^']*'/, greedy: !0 }, punctuation: /^<!|>$|[[\\]]/, \"doctype-tag\": /^DOCTYPE/i, name: /[^\\s<>'\"]+/ } }, cdata: { pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i, greedy: !0 }, tag: { pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/, greedy: !0, inside: { tag: { pattern: /^<\\/?[^\\s>\\/]+/, inside: { punctuation: /^<\\/?/, namespace: /^[^\\s>\\/:]+:/ } }, \"special-attr\": [], \"attr-value\": { pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/, inside: { punctuation: [{ pattern: /^=/, alias: \"attr-equals\" }, { pattern: /^(\\s*)[\"']|[\"']$/, lookbehind: !0 }] } }, punctuation: /\\/?>/, \"attr-name\": { pattern: /[^\\s>\\/]+/, inside: { namespace: /^[^\\s>\\/:]+:/ } } } }, entity: [{ pattern: /&[\\da-z]{1,8};/i, alias: \"named-entity\" }, /&#x?[\\da-f]{1,8};/i] }, p.languages.markup.tag.inside[\"attr-value\"].inside.entity = p.languages.markup.entity, p.languages.markup.doctype.inside[\"internal-subset\"].inside = p.languages.markup, p.hooks.add(\"wrap\", function(e) {\n e.type === \"entity\" && (e.attributes.title = e.content.replace(/&amp;/, \"&\"));\n}), Object.defineProperty(p.languages.markup.tag, \"addInlined\", { value: function(e, i) {\n var r = {}, r = (r[\"language-\" + i] = { pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i, lookbehind: !0, inside: p.languages[i] }, r.cdata = /^<!\\[CDATA\\[|\\]\\]>$/i, { \"included-cdata\": { pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i, inside: r } }), i = (r[\"language-\" + i] = { pattern: /[\\s\\S]+/, inside: p.languages[i] }, {});\n i[e] = { pattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function() {\n return e;\n }), \"i\"), lookbehind: !0, greedy: !0, inside: r }, p.languages.insertBefore(\"markup\", \"cdata\", i);\n} }), Object.defineProperty(p.languages.markup.tag, \"addAttribute\", { value: function(e, t) {\n p.languages.markup.tag.inside[\"special-attr\"].push({ pattern: RegExp(/(^|[\"'\\s])/.source + \"(?:\" + e + \")\" + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source, \"i\"), lookbehind: !0, inside: { \"attr-name\": /^[^\\s=]+/, \"attr-value\": { pattern: /=[\\s\\S]+/, inside: { value: { pattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/, lookbehind: !0, alias: [t, \"language-\" + t], inside: p.languages[t] }, punctuation: [{ pattern: /^=/, alias: \"attr-equals\" }, /\"|'/] } } } });\n} }), p.languages.html = p.languages.markup, p.languages.mathml = p.languages.markup, p.languages.svg = p.languages.markup, p.languages.xml = p.languages.extend(\"markup\", {}), p.languages.ssml = p.languages.xml, p.languages.atom = p.languages.xml, p.languages.rss = p.languages.xml, (function(e) {\n var t = { pattern: /\\\\[\\\\(){}[\\]^$+*?|.]/, alias: \"escape\" }, r = /\\\\(?:x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u\\{[\\da-fA-F]+\\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/, i = \"(?:[^\\\\\\\\-]|\" + r.source + \")\", i = RegExp(i + \"-\" + i), s = { pattern: /(<|')[^<>']+(?=[>']$)/, lookbehind: !0, alias: \"variable\" };\n e.languages.regex = { \"char-class\": { pattern: /((?:^|[^\\\\])(?:\\\\\\\\)*)\\[(?:[^\\\\\\]]|\\\\[\\s\\S])*\\]/, lookbehind: !0, inside: { \"char-class-negation\": { pattern: /(^\\[)\\^/, lookbehind: !0, alias: \"operator\" }, \"char-class-punctuation\": { pattern: /^\\[|\\]$/, alias: \"punctuation\" }, range: { pattern: i, inside: { escape: r, \"range-punctuation\": { pattern: /-/, alias: \"operator\" } } }, \"special-escape\": t, \"char-set\": { pattern: /\\\\[wsd]|\\\\p\\{[^{}]+\\}/i, alias: \"class-name\" }, escape: r } }, \"special-escape\": t, \"char-set\": { pattern: /\\.|\\\\[wsd]|\\\\p\\{[^{}]+\\}/i, alias: \"class-name\" }, backreference: [{ pattern: /\\\\(?![123][0-7]{2})[1-9]/, alias: \"keyword\" }, { pattern: /\\\\k<[^<>']+>/, alias: \"keyword\", inside: { \"group-name\": s } }], anchor: { pattern: /[$^]|\\\\[ABbGZz]/, alias: \"function\" }, escape: r, group: [{ pattern: /\\((?:\\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/, alias: \"punctuation\", inside: { \"group-name\": s } }, { pattern: /\\)/, alias: \"punctuation\" }], quantifier: { pattern: /(?:[+*?]|\\{\\d+(?:,\\d*)?\\})[?+]?/, alias: \"number\" }, alternation: { pattern: /\\|/, alias: \"keyword\" } };\n})(p), p.languages.clike = { comment: [{ pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/, lookbehind: !0, greedy: !0 }, { pattern: /(^|[^\\\\:])\\/\\/.*/, lookbehind: !0, greedy: !0 }], string: { pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/, greedy: !0 }, \"class-name\": { pattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i, lookbehind: !0, inside: { punctuation: /[.\\\\]/ } }, keyword: /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/, boolean: /\\b(?:false|true)\\b/, function: /\\b\\w+(?=\\()/, number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i, operator: /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/, punctuation: /[{}[\\];(),.:]/ }, p.languages.javascript = p.languages.extend(\"clike\", { \"class-name\": [p.languages.clike[\"class-name\"], { pattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/, lookbehind: !0 }], keyword: [{ pattern: /((?:^|\\})\\s*)catch\\b/, lookbehind: !0 }, { pattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/, lookbehind: !0 }], function: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/, number: { pattern: RegExp(/(^|[^\\w$])/.source + \"(?:\" + /NaN|Infinity/.source + \"|\" + /0[bB][01]+(?:_[01]+)*n?/.source + \"|\" + /0[oO][0-7]+(?:_[0-7]+)*n?/.source + \"|\" + /0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source + \"|\" + /\\d+(?:_\\d+)*n/.source + \"|\" + /(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source + \")\" + /(?![\\w$])/.source), lookbehind: !0 }, operator: /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/ }), p.languages.javascript[\"class-name\"][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/, p.languages.insertBefore(\"javascript\", \"keyword\", { regex: { pattern: RegExp(/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source + /\\//.source + \"(?:\" + /(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source + \"|\" + /(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source + \")\" + /(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source), lookbehind: !0, greedy: !0, inside: { \"regex-source\": { pattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/, lookbehind: !0, alias: \"language-regex\", inside: p.languages.regex }, \"regex-delimiter\": /^\\/|\\/$/, \"regex-flags\": /^[a-z]+$/ } }, \"function-variable\": { pattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/, alias: \"function\" }, parameter: [{ pattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/, lookbehind: !0, inside: p.languages.javascript }, { pattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i, lookbehind: !0, inside: p.languages.javascript }, { pattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/, lookbehind: !0, inside: p.languages.javascript }, { pattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/, lookbehind: !0, inside: p.languages.javascript }], constant: /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/ }), p.languages.insertBefore(\"javascript\", \"string\", { hashbang: { pattern: /^#!.*/, greedy: !0, alias: \"comment\" }, \"template-string\": { pattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/, greedy: !0, inside: { \"template-punctuation\": { pattern: /^`|`$/, alias: \"string\" }, interpolation: { pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/, lookbehind: !0, inside: { \"interpolation-punctuation\": { pattern: /^\\$\\{|\\}$/, alias: \"punctuation\" }, rest: p.languages.javascript } }, string: /[\\s\\S]+/ } }, \"string-property\": { pattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m, lookbehind: !0, greedy: !0, alias: \"property\" } }), p.languages.insertBefore(\"javascript\", \"operator\", { \"literal-property\": { pattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m, lookbehind: !0, alias: \"property\" } }), p.languages.markup && (p.languages.markup.tag.addInlined(\"script\", \"javascript\"), p.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source, \"javascript\")), p.languages.js = p.languages.javascript, p.languages.actionscript = p.languages.extend(\"javascript\", { keyword: /\\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\\b/, operator: /\\+\\+|--|(?:[+\\-*\\/%^]|&&?|\\|\\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/ }), p.languages.actionscript[\"class-name\"].alias = \"function\", delete p.languages.actionscript.parameter, delete p.languages.actionscript[\"literal-property\"], p.languages.markup && p.languages.insertBefore(\"actionscript\", \"string\", { xml: { pattern: /(^|[^.])<\\/?\\w+(?:\\s+[^\\s>\\/=]+=(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2)*\\s*\\/?>/, lookbehind: !0, inside: p.languages.markup } }), (function(e) {\n var t = /#(?!\\{).+/, r = { pattern: /#\\{[^}]+\\}/, alias: \"variable\" };\n e.languages.coffeescript = e.languages.extend(\"javascript\", { comment: t, string: [{ pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/, greedy: !0 }, { pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/, greedy: !0, inside: { interpolation: r } }], keyword: /\\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\\b/, \"class-member\": { pattern: /@(?!\\d)\\w+/, alias: \"variable\" } }), e.languages.insertBefore(\"coffeescript\", \"comment\", { \"multiline-comment\": { pattern: /###[\\s\\S]+?###/, alias: \"comment\" }, \"block-regex\": { pattern: /\\/{3}[\\s\\S]*?\\/{3}/, alias: \"regex\", inside: { comment: t, interpolation: r } } }), e.languages.insertBefore(\"coffeescript\", \"string\", { \"inline-javascript\": { pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/, inside: { delimiter: { pattern: /^`|`$/, alias: \"punctuation\" }, script: { pattern: /[\\s\\S]+/, alias: \"language-javascript\", inside: e.languages.javascript } } }, \"multiline-string\": [{ pattern: /'''[\\s\\S]*?'''/, greedy: !0, alias: \"string\" }, { pattern: /\"\"\"[\\s\\S]*?\"\"\"/, greedy: !0, alias: \"string\", inside: { interpolation: r } }] }), e.languages.insertBefore(\"coffeescript\", \"keyword\", { property: /(?!\\d)\\w+(?=\\s*:(?!:))/ }), delete e.languages.coffeescript[\"template-string\"], e.languages.coffee = e.languages.coffeescript;\n})(p), (function(e) {\n var t = e.languages.javadoclike = { parameter: { pattern: /(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*@(?:arg|arguments|param)\\s+)\\w+/m, lookbehind: !0 }, keyword: { pattern: /(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*|\\{)@[a-z][a-zA-Z-]+\\b/m, lookbehind: !0 }, punctuation: /[{}]/ };\n Object.defineProperty(t, \"addSupport\", { value: function(r, i) {\n (r = typeof r == \"string\" ? [r] : r).forEach(function(s) {\n var g = function(h) {\n h.inside || (h.inside = {}), h.inside.rest = i;\n }, o = \"doc-comment\";\n if (b = e.languages[s]) {\n var b, c = b[o];\n if ((c = c || (b = e.languages.insertBefore(s, \"comment\", { \"doc-comment\": { pattern: /(^|[^\\\\])\\/\\*\\*[^/][\\s\\S]*?(?:\\*\\/|$)/, lookbehind: !0, alias: \"comment\" } }))[o]) instanceof RegExp && (c = b[o] = { pattern: c }), Array.isArray(c))\n for (var m = 0, k = c.length; m < k; m++)\n c[m] instanceof RegExp && (c[m] = { pattern: c[m] }), g(c[m]);\n else\n g(c);\n }\n });\n } }), t.addSupport([\"java\", \"javascript\", \"php\"], t);\n})(p), (function(e) {\n var t = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/, t = (e.languages.css = { comment: /\\/\\*[\\s\\S]*?\\*\\//, atrule: { pattern: RegExp(\"@[\\\\w-](?:\" + /[^;{\\s\"']|\\s+(?!\\s)/.source + \"|\" + t.source + \")*?\" + /(?:;|(?=\\s*\\{))/.source), inside: { rule: /^@[\\w-]+/, \"selector-function-argument\": { pattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/, lookbehind: !0, alias: \"selector\" }, keyword: { pattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/, lookbehind: !0 } } }, url: { pattern: RegExp(\"\\\\burl\\\\((?:\" + t.source + \"|\" + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + \")\\\\)\", \"i\"), greedy: !0, inside: { function: /^url/i, punctuation: /^\\(|\\)$/, string: { pattern: RegExp(\"^\" + t.source + \"$\"), alias: \"url\" } } }, selector: { pattern: RegExp(`(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"'\\\\s]|\\\\s+(?![\\\\s{])|` + t.source + \")*(?=\\\\s*\\\\{)\"), lookbehind: !0 }, string: { pattern: t, greedy: !0 }, property: { pattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i, lookbehind: !0 }, important: /!important\\b/i, function: { pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i, lookbehind: !0 }, punctuation: /[(){};:,]/ }, e.languages.css.atrule.inside.rest = e.languages.css, e.languages.markup);\n t && (t.tag.addInlined(\"style\", \"css\"), t.tag.addAttribute(\"style\", \"css\"));\n})(p), (function(e) {\n var t = /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/, t = (e.languages.css.selector = { pattern: e.languages.css.selector.pattern, lookbehind: !0, inside: t = { \"pseudo-element\": /:(?:after|before|first-letter|first-line|selection)|::[-\\w]+/, \"pseudo-class\": /:[-\\w]+/, class: /\\.[-\\w]+/, id: /#[-\\w]+/, attribute: { pattern: RegExp(`\\\\[(?:[^[\\\\]\"']|` + t.source + \")*\\\\]\"), greedy: !0, inside: { punctuation: /^\\[|\\]$/, \"case-sensitivity\": { pattern: /(\\s)[si]$/i, lookbehind: !0, alias: \"keyword\" }, namespace: { pattern: /^(\\s*)(?:(?!\\s)[-*\\w\\xA0-\\uFFFF])*\\|(?!=)/, lookbehind: !0, inside: { punctuation: /\\|$/ } }, \"attr-name\": { pattern: /^(\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+/, lookbehind: !0 }, \"attr-value\": [t, { pattern: /(=\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+(?=\\s*$)/, lookbehind: !0 }], operator: /[|~*^$]?=/ } }, \"n-th\": [{ pattern: /(\\(\\s*)[+-]?\\d*[\\dn](?:\\s*[+-]\\s*\\d+)?(?=\\s*\\))/, lookbehind: !0, inside: { number: /[\\dn]+/, operator: /[+-]/ } }, { pattern: /(\\(\\s*)(?:even|odd)(?=\\s*\\))/i, lookbehind: !0 }], combinator: />|\\+|~|\\|\\|/, punctuation: /[(),]/ } }, e.languages.css.atrule.inside[\"selector-function-argument\"].inside = t, e.languages.insertBefore(\"css\", \"property\", { variable: { pattern: /(^|[^-\\w\\xA0-\\uFFFF])--(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*/i, lookbehind: !0 } }), { pattern: /(\\b\\d+)(?:%|[a-z]+(?![\\w-]))/, lookbehind: !0 }), r = { pattern: /(^|[^\\w.-])-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/, lookbehind: !0 };\n e.languages.insertBefore(\"css\", \"function\", { operator: { pattern: /(\\s)[+\\-*\\/](?=\\s)/, lookbehind: !0 }, hexcode: { pattern: /\\B#[\\da-f]{3,8}\\b/i, alias: \"color\" }, color: [{ pattern: /(^|[^\\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\\w-])/i, lookbehind: !0 }, { pattern: /\\b(?:hsl|rgb)\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*\\)\\B|\\b(?:hsl|rgb)a\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*,\\s*(?:0|0?\\.\\d+|1)\\s*\\)\\B/i, inside: { unit: t, number: r, function: /[\\w-]+(?=\\()/, punctuation: /[(),]/ } }], entity: /\\\\[\\da-f]{1,8}/i, unit: t, number: r });\n})(p), (function(e) {\n var t = /[*&][^\\s[\\]{},]+/, r = /!(?:<[\\w\\-%#;/?:@&=+$,.!~*'()[\\]]+>|(?:[a-zA-Z\\d-]*!)?[\\w\\-%#;/?:@&=+$.~*'()]+)?/, i = \"(?:\" + r.source + \"(?:[ \t]+\" + t.source + \")?|\" + t.source + \"(?:[ \t]+\" + r.source + \")?)\", s = /(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g, function() {\n return /[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]/.source;\n }), g = /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'/.source;\n function o(b, c) {\n c = (c || \"\").replace(/m/g, \"\") + \"m\";\n var m = /([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))/.source.replace(/<<prop>>/g, function() {\n return i;\n }).replace(/<<value>>/g, function() {\n return b;\n });\n return RegExp(m, c);\n }\n e.languages.yaml = { scalar: { pattern: RegExp(/([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)/.source.replace(/<<prop>>/g, function() {\n return i;\n })), lookbehind: !0, alias: \"string\" }, comment: /#.*/, key: { pattern: RegExp(/((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)/.source.replace(/<<prop>>/g, function() {\n return i;\n }).replace(/<<key>>/g, function() {\n return \"(?:\" + s + \"|\" + g + \")\";\n })), lookbehind: !0, greedy: !0, alias: \"atrule\" }, directive: { pattern: /(^[ \\t]*)%.+/m, lookbehind: !0, alias: \"important\" }, datetime: { pattern: o(/\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?/.source), lookbehind: !0, alias: \"number\" }, boolean: { pattern: o(/false|true/.source, \"i\"), lookbehind: !0, alias: \"important\" }, null: { pattern: o(/null|~/.source, \"i\"), lookbehind: !0, alias: \"important\" }, string: { pattern: o(g), lookbehind: !0, greedy: !0 }, number: { pattern: o(/[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)/.source, \"i\"), lookbehind: !0 }, tag: r, important: t, punctuation: /---|[:[\\]{}\\-,|>?]|\\.\\.\\./ }, e.languages.yml = e.languages.yaml;\n})(p), (function(e) {\n var t = /(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source;\n function r(m) {\n return m = m.replace(/<inner>/g, function() {\n return t;\n }), RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + \"(?:\" + m + \")\");\n }\n var i = /(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/.source, s = /\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(/__/g, function() {\n return i;\n }), g = /\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/.source, o = (e.languages.markdown = e.languages.extend(\"markup\", {}), e.languages.insertBefore(\"markdown\", \"prolog\", { \"front-matter-block\": { pattern: /(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/, lookbehind: !0, greedy: !0, inside: { punctuation: /^---|---$/, \"front-matter\": { pattern: /\\S+(?:\\s+\\S+)*/, alias: [\"yaml\", \"language-yaml\"], inside: e.languages.yaml } } }, blockquote: { pattern: /^>(?:[\\t ]*>)*/m, alias: \"punctuation\" }, table: { pattern: RegExp(\"^\" + s + g + \"(?:\" + s + \")*\", \"m\"), inside: { \"table-data-rows\": { pattern: RegExp(\"^(\" + s + g + \")(?:\" + s + \")*$\"), lookbehind: !0, inside: { \"table-data\": { pattern: RegExp(i), inside: e.languages.markdown }, punctuation: /\\|/ } }, \"table-line\": { pattern: RegExp(\"^(\" + s + \")\" + g + \"$\"), lookbehind: !0, inside: { punctuation: /\\||:?-{3,}:?/ } }, \"table-header-row\": { pattern: RegExp(\"^\" + s + \"$\"), inside: { \"table-header\": { pattern: RegExp(i), alias: \"important\", inside: e.languages.markdown }, punctuation: /\\|/ } } } }, code: [{ pattern: /((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/, lookbehind: !0, alias: \"keyword\" }, { pattern: /^```[\\s\\S]*?^```$/m, greedy: !0, inside: { \"code-block\": { pattern: /^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m, lookbehind: !0 }, \"code-language\": { pattern: /^(```).+/, lookbehind: !0 }, punctuation: /```/ } }], title: [{ pattern: /\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m, alias: \"important\", inside: { punctuation: /==+$|--+$/ } }, { pattern: /(^\\s*)#.+/m, lookbehind: !0, alias: \"important\", inside: { punctuation: /^#+|#+$/ } }], hr: { pattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m, lookbehind: !0, alias: \"punctuation\" }, list: { pattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m, lookbehind: !0, alias: \"punctuation\" }, \"url-reference\": { pattern: /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/, inside: { variable: { pattern: /^(!?\\[)[^\\]]+/, lookbehind: !0 }, string: /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/, punctuation: /^[\\[\\]!:]|[<>]/ }, alias: \"url\" }, bold: { pattern: r(/\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*/.source), lookbehind: !0, greedy: !0, inside: { content: { pattern: /(^..)[\\s\\S]+(?=..$)/, lookbehind: !0, inside: {} }, punctuation: /\\*\\*|__/ } }, italic: { pattern: r(/\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*/.source), lookbehind: !0, greedy: !0, inside: { content: { pattern: /(^.)[\\s\\S]+(?=.$)/, lookbehind: !0, inside: {} }, punctuation: /[*_]/ } }, strike: { pattern: r(/(~~?)(?:(?!~)<inner>)+\\2/.source), lookbehind: !0, greedy: !0, inside: { content: { pattern: /(^~~?)[\\s\\S]+(?=\\1$)/, lookbehind: !0, inside: {} }, punctuation: /~~?/ } }, \"code-snippet\": { pattern: /(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/, lookbehind: !0, greedy: !0, alias: [\"code\", \"keyword\"] }, url: { pattern: r(/!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])/.source), lookbehind: !0, greedy: !0, inside: { operator: /^!/, content: { pattern: /(^\\[)[^\\]]+(?=\\])/, lookbehind: !0, inside: {} }, variable: { pattern: /(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/, lookbehind: !0 }, url: { pattern: /(^\\]\\()[^\\s)]+/, lookbehind: !0 }, string: { pattern: /(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/, lookbehind: !0 } } } }), [\"url\", \"bold\", \"italic\", \"strike\"].forEach(function(m) {\n [\"url\", \"bold\", \"italic\", \"strike\", \"code-snippet\"].forEach(function(k) {\n m !== k && (e.languages.markdown[m].inside.content.inside[k] = e.languages.markdown[k]);\n });\n }), e.hooks.add(\"after-tokenize\", function(m) {\n m.language !== \"markdown\" && m.language !== \"md\" || (function k(h) {\n if (h && typeof h != \"string\")\n for (var E = 0, _ = h.length; E < _; E++) {\n var d, u = h[E];\n u.type !== \"code\" ? k(u.content) : (d = u.content[1], u = u.content[3], d && u && d.type === \"code-language\" && u.type === \"code-block\" && typeof d.content == \"string\" && (d = d.content.replace(/\\b#/g, \"sharp\").replace(/\\b\\+\\+/g, \"pp\"), d = \"language-\" + (d = (/[a-z][\\w-]*/i.exec(d) || [\"\"])[0].toLowerCase()), u.alias ? typeof u.alias == \"string\" ? u.alias = [u.alias, d] : u.alias.push(d) : u.alias = [d]));\n }\n })(m.tokens);\n }), e.hooks.add(\"wrap\", function(m) {\n if (m.type === \"code-block\") {\n for (var k = \"\", h = 0, E = m.classes.length; h < E; h++) {\n var _ = m.classes[h], _ = /language-(.+)/.exec(_);\n if (_) {\n k = _[1];\n break;\n }\n }\n var d, u = e.languages[k];\n u ? m.content = e.highlight((function(y) {\n return y = y.replace(o, \"\"), y = y.replace(/&(\\w{1,8}|#x?[\\da-f]{1,8});/gi, function(v, f) {\n var C;\n return (f = f.toLowerCase())[0] === \"#\" ? (C = f[1] === \"x\" ? parseInt(f.slice(2), 16) : Number(f.slice(1)), c(C)) : b[f] || v;\n });\n })(m.content), u, k) : k && k !== \"none\" && e.plugins.autoloader && (d = \"md-\" + (/* @__PURE__ */ new Date()).valueOf() + \"-\" + Math.floor(1e16 * Math.random()), m.attributes.id = d, e.plugins.autoloader.loadLanguages(k, function() {\n var y = document.getElementById(d);\n y && (y.innerHTML = e.highlight(y.textContent, e.languages[k], k));\n }));\n }\n }), RegExp(e.languages.markup.tag.pattern.source, \"gi\")), b = { amp: \"&\", lt: \"<\", gt: \">\", quot: '\"' }, c = String.fromCodePoint || String.fromCharCode;\n e.languages.md = e.languages.markdown;\n})(p), p.languages.graphql = { comment: /#.*/, description: { pattern: /(?:\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")(?=\\s*[a-z_])/i, greedy: !0, alias: \"string\", inside: { \"language-markdown\": { pattern: /(^\"(?:\"\")?)(?!\\1)[\\s\\S]+(?=\\1$)/, lookbehind: !0, inside: p.languages.markdown } } }, string: { pattern: /\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/, greedy: !0 }, number: /(?:\\B-|\\b)\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i, boolean: /\\b(?:false|true)\\b/, variable: /\\$[a-z_]\\w*/i, directive: { pattern: /@[a-z_]\\w*/i, alias: \"function\" }, \"attr-name\": { pattern: /\\b[a-z_]\\w*(?=\\s*(?:\\((?:[^()\"]|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")*\\))?:)/i, greedy: !0 }, \"atom-input\": { pattern: /\\b[A-Z]\\w*Input\\b/, alias: \"class-name\" }, scalar: /\\b(?:Boolean|Float|ID|Int|String)\\b/, constant: /\\b[A-Z][A-Z_\\d]*\\b/, \"class-name\": { pattern: /(\\b(?:enum|implements|interface|on|scalar|type|union)\\s+|&\\s*|:\\s*|\\[)[A-Z_]\\w*/, lookbehind: !0 }, fragment: { pattern: /(\\bfragment\\s+|\\.{3}\\s*(?!on\\b))[a-zA-Z_]\\w*/, lookbehind: !0, alias: \"function\" }, \"definition-mutation\": { pattern: /(\\bmutation\\s+)[a-zA-Z_]\\w*/, lookbehind: !0, alias: \"function\" }, \"definition-query\": { pattern: /(\\bquery\\s+)[a-zA-Z_]\\w*/, lookbehind: !0, alias: \"function\" }, keyword: /\\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\\b/, operator: /[!=|&]|\\.{3}/, \"property-query\": /\\w+(?=\\s*\\()/, object: /\\w+(?=\\s*\\{)/, punctuation: /[!(){}\\[\\]:=,]/, property: /\\w+/ }, p.hooks.add(\"after-tokenize\", function(e) {\n if (e.language === \"graphql\")\n for (var t = e.tokens.filter(function(d) {\n return typeof d != \"string\" && d.type !== \"comment\" && d.type !== \"scalar\";\n }), r = 0; r < t.length; ) {\n var i = t[r++];\n if (i.type === \"keyword\" && i.content === \"mutation\") {\n var s = [];\n if (h([\"definition-mutation\", \"punctuation\"]) && k(1).content === \"(\") {\n r += 2;\n var g = E(/^\\($/, /^\\)$/);\n if (g === -1)\n continue;\n for (; r < g; r++) {\n var o = k(0);\n o.type === \"variable\" && (_(o, \"variable-input\"), s.push(o.content));\n }\n r = g + 1;\n }\n if (h([\"punctuation\", \"property-query\"]) && k(0).content === \"{\" && (r++, _(k(0), \"property-mutation\"), 0 < s.length)) {\n var b = E(/^\\{$/, /^\\}$/);\n if (b !== -1)\n for (var c = r; c < b; c++) {\n var m = t[c];\n m.type === \"variable\" && 0 <= s.indexOf(m.content) && _(m, \"variable-input\");\n }\n }\n }\n }\n function k(d) {\n return t[r + d];\n }\n function h(d, u) {\n u = u || 0;\n for (var y = 0; y < d.length; y++) {\n var v = k(y + u);\n if (!v || v.type !== d[y])\n return;\n }\n return 1;\n }\n function E(d, u) {\n for (var y = 1, v = r; v < t.length; v++) {\n var f = t[v], C = f.content;\n if (f.type === \"punctuation\" && typeof C == \"string\") {\n if (d.test(C))\n y++;\n else if (u.test(C) && --y === 0)\n return v;\n }\n }\n return -1;\n }\n function _(d, u) {\n var y = d.alias;\n y ? Array.isArray(y) || (d.alias = y = [y]) : d.alias = y = [], y.push(u);\n }\n}), p.languages.sql = { comment: { pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/, lookbehind: !0 }, variable: [{ pattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/, greedy: !0 }, /@[\\w.$]+/], string: { pattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/, greedy: !0, lookbehind: !0 }, identifier: { pattern: /(^|[^@\\\\])`(?:\\\\[\\s\\S]|[^`\\\\]|``)*`/, greedy: !0, lookbehind: !0, inside: { punctuation: /^`|`$/ } }, function: /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i, keyword: /\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i, boolean: /\\b(?:FALSE|NULL|TRUE)\\b/i, number: /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i, operator: /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i, punctuation: /[;[\\]()`,.]/ }, (function(e) {\n var t = e.languages.javascript[\"template-string\"], r = t.pattern.source, i = t.inside.interpolation, s = i.inside[\"interpolation-punctuation\"], g = i.pattern.source;\n function o(h, E) {\n if (e.languages[h])\n return { pattern: RegExp(\"((?:\" + E + \")\\\\s*)\" + r), lookbehind: !0, greedy: !0, inside: { \"template-punctuation\": { pattern: /^`|`$/, alias: \"string\" }, \"embedded-code\": { pattern: /[\\s\\S]+/, alias: h } } };\n }\n function b(h, E, _) {\n return h = { code: h, grammar: E, language: _ }, e.hooks.run(\"before-tokenize\", h), h.tokens = e.tokenize(h.code, h.grammar), e.hooks.run(\"after-tokenize\", h), h.tokens;\n }\n function c(h, E, _) {\n var y = e.tokenize(h, { interpolation: { pattern: RegExp(g), lookbehind: !0 } }), d = 0, u = {}, y = b(y.map(function(f) {\n if (typeof f == \"string\")\n return f;\n for (var C, A, f = f.content; h.indexOf((A = d++, C = \"___\" + _.toUpperCase() + \"_\" + A + \"___\")) !== -1; )\n ;\n return u[C] = f, C;\n }).join(\"\"), E, _), v = Object.keys(u);\n return d = 0, (function f(C) {\n for (var A = 0; A < C.length; A++) {\n if (d >= v.length)\n return;\n var R, P, j, O, H, J, Y, q = C[A];\n typeof q == \"string\" || typeof q.content == \"string\" ? (R = v[d], (Y = (J = typeof q == \"string\" ? q : q.content).indexOf(R)) !== -1 && (++d, P = J.substring(0, Y), H = u[R], j = void 0, (O = {})[\"interpolation-punctuation\"] = s, (O = e.tokenize(H, O)).length === 3 && ((j = [1, 1]).push.apply(j, b(O[1], e.languages.javascript, \"javascript\")), O.splice.apply(O, j)), j = new e.Token(\"interpolation\", O, i.alias, H), O = J.substring(Y + R.length), H = [], P && H.push(P), H.push(j), O && (f(J = [O]), H.push.apply(H, J)), typeof q == \"string\" ? (C.splice.apply(C, [A, 1].concat(H)), A += H.length - 1) : q.content = H)) : (Y = q.content, Array.isArray(Y) ? f(Y) : f([Y]));\n }\n })(y), new e.Token(_, y, \"language-\" + _, h);\n }\n e.languages.javascript[\"template-string\"] = [o(\"css\", /\\b(?:styled(?:\\([^)]*\\))?(?:\\s*\\.\\s*\\w+(?:\\([^)]*\\))*)*|css(?:\\s*\\.\\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source), o(\"html\", /\\bhtml|\\.\\s*(?:inner|outer)HTML\\s*\\+?=/.source), o(\"svg\", /\\bsvg/.source), o(\"markdown\", /\\b(?:markdown|md)/.source), o(\"graphql\", /\\b(?:gql|graphql(?:\\s*\\.\\s*experimental)?)/.source), o(\"sql\", /\\bsql/.source), t].filter(Boolean);\n var m = { javascript: !0, js: !0, typescript: !0, ts: !0, jsx: !0, tsx: !0 };\n function k(h) {\n return typeof h == \"string\" ? h : Array.isArray(h) ? h.map(k).join(\"\") : k(h.content);\n }\n e.hooks.add(\"after-tokenize\", function(h) {\n h.language in m && (function E(_) {\n for (var d = 0, u = _.length; d < u; d++) {\n var y, v, f, C = _[d];\n typeof C != \"string\" && (y = C.content, Array.isArray(y) ? C.type === \"template-string\" ? (C = y[1], y.length === 3 && typeof C != \"string\" && C.type === \"embedded-code\" && (v = k(C), C = C.alias, C = Array.isArray(C) ? C[0] : C, f = e.languages[C]) && (y[1] = c(v, f, C))) : E(y) : typeof y != \"string\" && E([y]));\n }\n })(h.tokens);\n });\n})(p), (function(e) {\n e.languages.typescript = e.languages.extend(\"javascript\", { \"class-name\": { pattern: /(\\b(?:class|extends|implements|instanceof|interface|new|type)\\s+)(?!keyof\\b)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?:\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/, lookbehind: !0, greedy: !0, inside: null }, builtin: /\\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\\b/ }), e.languages.typescript.keyword.push(/\\b(?:abstract|declare|is|keyof|readonly|require)\\b/, /\\b(?:asserts|infer|interface|module|namespace|type)\\b(?=\\s*(?:[{_$a-zA-Z\\xA0-\\uFFFF]|$))/, /\\btype\\b(?=\\s*(?:[\\{*]|$))/), delete e.languages.typescript.parameter, delete e.languages.typescript[\"literal-property\"];\n var t = e.languages.extend(\"typescript\", {});\n delete t[\"class-name\"], e.languages.typescript[\"class-name\"].inside = t, e.languages.insertBefore(\"typescript\", \"function\", { decorator: { pattern: /@[$\\w\\xA0-\\uFFFF]+/, inside: { at: { pattern: /^@/, alias: \"operator\" }, function: /^[\\s\\S]+/ } }, \"generic-function\": { pattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\\s*\\()/, greedy: !0, inside: { function: /^#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/, generic: { pattern: /<[\\s\\S]+/, alias: \"class-name\", inside: t } } } }), e.languages.ts = e.languages.typescript;\n})(p), (function(e) {\n var t = e.languages.javascript, r = /\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})+\\}/.source, i = \"(@(?:arg|argument|param|property)\\\\s+(?:\" + r + \"\\\\s+)?)\";\n e.languages.jsdoc = e.languages.extend(\"javadoclike\", { parameter: { pattern: RegExp(i + /(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?=\\s|$)/.source), lookbehind: !0, inside: { punctuation: /\\./ } } }), e.languages.insertBefore(\"jsdoc\", \"keyword\", { \"optional-parameter\": { pattern: RegExp(i + /\\[(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?:=[^[\\]]+)?\\](?=\\s|$)/.source), lookbehind: !0, inside: { parameter: { pattern: /(^\\[)[$\\w\\xA0-\\uFFFF\\.]+/, lookbehind: !0, inside: { punctuation: /\\./ } }, code: { pattern: /(=)[\\s\\S]*(?=\\]$)/, lookbehind: !0, inside: t, alias: \"language-javascript\" }, punctuation: /[=[\\]]/ } }, \"class-name\": [{ pattern: RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\\s+(?:<TYPE>\\s+)?)[A-Z]\\w*(?:\\.[A-Z]\\w*)*/.source.replace(/<TYPE>/g, function() {\n return r;\n })), lookbehind: !0, inside: { punctuation: /\\./ } }, { pattern: RegExp(\"(@[a-z]+\\\\s+)\" + r), lookbehind: !0, inside: { string: t.string, number: t.number, boolean: t.boolean, keyword: e.languages.typescript.keyword, operator: /=>|\\.\\.\\.|[&|?:*]/, punctuation: /[.,;=<>{}()[\\]]/ } }], example: { pattern: /(@example\\s+(?!\\s))(?:[^@\\s]|\\s+(?!\\s))+?(?=\\s*(?:\\*\\s*)?(?:@\\w|\\*\\/))/, lookbehind: !0, inside: { code: { pattern: /^([\\t ]*(?:\\*\\s*)?)\\S.*$/m, lookbehind: !0, inside: t, alias: \"language-javascript\" } } } }), e.languages.javadoclike.addSupport(\"javascript\", e.languages.jsdoc);\n})(p), (function(e) {\n e.languages.flow = e.languages.extend(\"javascript\", {}), e.languages.insertBefore(\"flow\", \"keyword\", { type: [{ pattern: /\\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\\b/, alias: \"class-name\" }] }), e.languages.flow[\"function-variable\"].pattern = /(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=\\s*(?:function\\b|(?:\\([^()]*\\)(?:\\s*:\\s*\\w+)?|(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/i, delete e.languages.flow.parameter, e.languages.insertBefore(\"flow\", \"operator\", { \"flow-punctuation\": { pattern: /\\{\\||\\|\\}/, alias: \"punctuation\" } }), Array.isArray(e.languages.flow.keyword) || (e.languages.flow.keyword = [e.languages.flow.keyword]), e.languages.flow.keyword.unshift({ pattern: /(^|[^$]\\b)(?:Class|declare|opaque|type)\\b(?!\\$)/, lookbehind: !0 }, { pattern: /(^|[^$]\\B)\\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\\b(?!\\$)/, lookbehind: !0 });\n})(p), p.languages.n4js = p.languages.extend(\"javascript\", { keyword: /\\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\\b/ }), p.languages.insertBefore(\"n4js\", \"constant\", { annotation: { pattern: /@+\\w+/, alias: \"operator\" } }), p.languages.n4jsd = p.languages.n4js, (function(e) {\n function t(o, b) {\n return RegExp(o.replace(/<ID>/g, function() {\n return /(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/.source;\n }), b);\n }\n e.languages.insertBefore(\"javascript\", \"function-variable\", { \"method-variable\": { pattern: RegExp(\"(\\\\.\\\\s*)\" + e.languages.javascript[\"function-variable\"].pattern.source), lookbehind: !0, alias: [\"function-variable\", \"method\", \"function\", \"property-access\"] } }), e.languages.insertBefore(\"javascript\", \"function\", { method: { pattern: RegExp(\"(\\\\.\\\\s*)\" + e.languages.javascript.function.source), lookbehind: !0, alias: [\"function\", \"property-access\"] } }), e.languages.insertBefore(\"javascript\", \"constant\", { \"known-class-name\": [{ pattern: /\\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\\b/, alias: \"class-name\" }, { pattern: /\\b(?:[A-Z]\\w*)Error\\b/, alias: \"class-name\" }] }), e.languages.insertBefore(\"javascript\", \"keyword\", { imports: { pattern: t(/(\\bimport\\b\\s*)(?:<ID>(?:\\s*,\\s*(?:\\*\\s*as\\s+<ID>|\\{[^{}]*\\}))?|\\*\\s*as\\s+<ID>|\\{[^{}]*\\})(?=\\s*\\bfrom\\b)/.source), lookbehind: !0, inside: e.languages.javascript }, exports: { pattern: t(/(\\bexport\\b\\s*)(?:\\*(?:\\s*as\\s+<ID>)?(?=\\s*\\bfrom\\b)|\\{[^{}]*\\})/.source), lookbehind: !0, inside: e.languages.javascript } }), e.languages.javascript.keyword.unshift({ pattern: /\\b(?:as|default|export|from|import)\\b/, alias: \"module\" }, { pattern: /\\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\\b/, alias: \"control-flow\" }, { pattern: /\\bnull\\b/, alias: [\"null\", \"nil\"] }, { pattern: /\\bundefined\\b/, alias: \"nil\" }), e.languages.insertBefore(\"javascript\", \"operator\", { spread: { pattern: /\\.{3}/, alias: \"operator\" }, arrow: { pattern: /=>/, alias: \"operator\" } }), e.languages.insertBefore(\"javascript\", \"punctuation\", { \"property-access\": { pattern: t(/(\\.\\s*)#?<ID>/.source), lookbehind: !0 }, \"maybe-class-name\": { pattern: /(^|[^$\\w\\xA0-\\uFFFF])[A-Z][$\\w\\xA0-\\uFFFF]+/, lookbehind: !0 }, dom: { pattern: /\\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\\b/, alias: \"variable\" }, console: { pattern: /\\bconsole(?=\\s*\\.)/, alias: \"class-name\" } });\n for (var r = [\"function\", \"function-variable\", \"method\", \"method-variable\", \"property-access\"], i = 0; i < r.length; i++) {\n var g = r[i], s = e.languages.javascript[g], g = (s = e.util.type(s) === \"RegExp\" ? e.languages.javascript[g] = { pattern: s } : s).inside || {};\n (s.inside = g)[\"maybe-class-name\"] = /^[A-Z][\\s\\S]*/;\n }\n})(p), (function(e) {\n var t = e.util.clone(e.languages.javascript), r = /(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)/.source, i = /(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})/.source, s = /(?:\\{<S>*\\.{3}(?:[^{}]|<BRACES>)*\\})/.source;\n function g(c, m) {\n return c = c.replace(/<S>/g, function() {\n return r;\n }).replace(/<BRACES>/g, function() {\n return i;\n }).replace(/<SPREAD>/g, function() {\n return s;\n }), RegExp(c, m);\n }\n s = g(s).source, e.languages.jsx = e.languages.extend(\"markup\", t), e.languages.jsx.tag.pattern = g(/<\\/?(?:[\\w.:-]+(?:<S>+(?:[\\w.:$-]+(?:=(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s{'\"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\\/?)?>/.source), e.languages.jsx.tag.inside.tag.pattern = /^<\\/?[^\\s>\\/]*/, e.languages.jsx.tag.inside[\"attr-value\"].pattern = /=(?!\\{)(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s'\">]+)/, e.languages.jsx.tag.inside.tag.inside[\"class-name\"] = /^[A-Z]\\w*(?:\\.[A-Z]\\w*)*$/, e.languages.jsx.tag.inside.comment = t.comment, e.languages.insertBefore(\"inside\", \"attr-name\", { spread: { pattern: g(/<SPREAD>/.source), inside: e.languages.jsx } }, e.languages.jsx.tag), e.languages.insertBefore(\"inside\", \"special-attr\", { script: { pattern: g(/=<BRACES>/.source), alias: \"language-javascript\", inside: { \"script-punctuation\": { pattern: /^=(?=\\{)/, alias: \"punctuation\" }, rest: e.languages.jsx } } }, e.languages.jsx.tag);\n function o(c) {\n for (var m = [], k = 0; k < c.length; k++) {\n var h = c[k], E = !1;\n typeof h != \"string\" && (h.type === \"tag\" && h.content[0] && h.content[0].type === \"tag\" ? h.content[0].content[0].content === \"</\" ? 0 < m.length && m[m.length - 1].tagName === b(h.content[0].content[1]) && m.pop() : h.content[h.content.length - 1].content !== \"/>\" && m.push({ tagName: b(h.content[0].content[1]), openedBraces: 0 }) : 0 < m.length && h.type === \"punctuation\" && h.content === \"{\" ? m[m.length - 1].openedBraces++ : 0 < m.length && 0 < m[m.length - 1].openedBraces && h.type === \"punctuation\" && h.content === \"}\" ? m[m.length - 1].openedBraces-- : E = !0), (E || typeof h == \"string\") && 0 < m.length && m[m.length - 1].openedBraces === 0 && (E = b(h), k < c.length - 1 && (typeof c[k + 1] == \"string\" || c[k + 1].type === \"plain-text\") && (E += b(c[k + 1]), c.splice(k + 1, 1)), 0 < k && (typeof c[k - 1] == \"string\" || c[k - 1].type === \"plain-text\") && (E = b(c[k - 1]) + E, c.splice(k - 1, 1), k--), c[k] = new e.Token(\"plain-text\", E, null, E)), h.content && typeof h.content != \"string\" && o(h.content);\n }\n }\n var b = function(c) {\n return c ? typeof c == \"string\" ? c : typeof c.content == \"string\" ? c.content : c.content.map(b).join(\"\") : \"\";\n };\n e.hooks.add(\"after-tokenize\", function(c) {\n c.language !== \"jsx\" && c.language !== \"tsx\" || o(c.tokens);\n });\n})(p), (function(e) {\n var t = e.util.clone(e.languages.typescript), t = (e.languages.tsx = e.languages.extend(\"jsx\", t), delete e.languages.tsx.parameter, delete e.languages.tsx[\"literal-property\"], e.languages.tsx.tag);\n t.pattern = RegExp(/(^|[^\\w$]|(?=<\\/))/.source + \"(?:\" + t.pattern.source + \")\", t.pattern.flags), t.lookbehind = !0;\n})(p), p.languages.swift = { comment: { pattern: /(^|[^\\\\:])(?:\\/\\/.*|\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\/)/, lookbehind: !0, greedy: !0 }, \"string-literal\": [{ pattern: RegExp(/(^|[^\"#])/.source + \"(?:\" + /\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n\"])*\"/.source + \"|\" + /\"\"\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\\"]|\"(?!\"\"))*\"\"\"/.source + \")\" + /(?![\"#])/.source), lookbehind: !0, greedy: !0, inside: { interpolation: { pattern: /(\\\\\\()(?:[^()]|\\([^()]*\\))*(?=\\))/, lookbehind: !0, inside: null }, \"interpolation-punctuation\": { pattern: /^\\)|\\\\\\($/, alias: \"punctuation\" }, punctuation: /\\\\(?=[\\r\\n])/, string: /[\\s\\S]+/ } }, { pattern: RegExp(/(^|[^\"#])(#+)/.source + \"(?:\" + /\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?\"/.source + \"|\" + /\"\"\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?\"\"\"/.source + \")\\\\2\"), lookbehind: !0, greedy: !0, inside: { interpolation: { pattern: /(\\\\#+\\()(?:[^()]|\\([^()]*\\))*(?=\\))/, lookbehind: !0, inside: null }, \"interpolation-punctuation\": { pattern: /^\\)|\\\\#+\\($/, alias: \"punctuation\" }, string: /[\\s\\S]+/ } }], directive: { pattern: RegExp(/#/.source + \"(?:\" + /(?:elseif|if)\\b/.source + \"(?:[ \t]*\" + /(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?/.source + \")+|\" + /(?:else|endif)\\b/.source + \")\"), alias: \"property\", inside: { \"directive-name\": /^#\\w+/, boolean: /\\b(?:false|true)\\b/, number: /\\b\\d+(?:\\.\\d+)*\\b/, operator: /!|&&|\\|\\||[<>]=?/, punctuation: /[(),]/ } }, literal: { pattern: /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/, alias: \"constant\" }, \"other-directive\": { pattern: /#\\w+\\b/, alias: \"property\" }, attribute: { pattern: /@\\w+/, alias: \"atrule\" }, \"function-definition\": { pattern: /(\\bfunc\\s+)\\w+/, lookbehind: !0, alias: \"function\" }, label: { pattern: /\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/, lookbehind: !0, alias: \"important\" }, keyword: /\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/, boolean: /\\b(?:false|true)\\b/, nil: { pattern: /\\bnil\\b/, alias: \"constant\" }, \"short-argument\": /\\$\\d+\\b/, omit: { pattern: /\\b_\\b/, alias: \"keyword\" }, number: /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i, \"class-name\": /\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/, function: /\\b[a-z_]\\w*(?=\\s*\\()/i, constant: /\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/, operator: /[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/, punctuation: /[{}[\\]();,.:\\\\]/ }, p.languages.swift[\"string-literal\"].forEach(function(e) {\n e.inside.interpolation.inside = p.languages.swift;\n}), (function(e) {\n e.languages.kotlin = e.languages.extend(\"clike\", { keyword: { pattern: /(^|[^.])\\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\\b/, lookbehind: !0 }, function: [{ pattern: /(?:`[^\\r\\n`]+`|\\b\\w+)(?=\\s*\\()/, greedy: !0 }, { pattern: /(\\.)(?:`[^\\r\\n`]+`|\\w+)(?=\\s*\\{)/, lookbehind: !0, greedy: !0 }], number: /\\b(?:0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?[fFL]?)\\b/, operator: /\\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\\/*%<>]=?|[?:]:?|\\.\\.|&&|\\|\\||\\b(?:and|inv|or|shl|shr|ushr|xor)\\b/ }), delete e.languages.kotlin[\"class-name\"];\n var t = { \"interpolation-punctuation\": { pattern: /^\\$\\{?|\\}$/, alias: \"punctuation\" }, expression: { pattern: /[\\s\\S]+/, inside: e.languages.kotlin } };\n e.languages.insertBefore(\"kotlin\", \"string\", { \"string-literal\": [{ pattern: /\"\"\"(?:[^$]|\\$(?:(?!\\{)|\\{[^{}]*\\}))*?\"\"\"/, alias: \"multiline\", inside: { interpolation: { pattern: /\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i, inside: t }, string: /[\\s\\S]+/ } }, { pattern: /\"(?:[^\"\\\\\\r\\n$]|\\\\.|\\$(?:(?!\\{)|\\{[^{}]*\\}))*\"/, alias: \"singleline\", inside: { interpolation: { pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i, lookbehind: !0, inside: t }, string: /[\\s\\S]+/ } }], char: { pattern: /'(?:[^'\\\\\\r\\n]|\\\\(?:.|u[a-fA-F0-9]{0,4}))'/, greedy: !0 } }), delete e.languages.kotlin.string, e.languages.insertBefore(\"kotlin\", \"keyword\", { annotation: { pattern: /\\B@(?:\\w+:)?(?:[A-Z]\\w*|\\[[^\\]]+\\])/, alias: \"builtin\" } }), e.languages.insertBefore(\"kotlin\", \"function\", { label: { pattern: /\\b\\w+@|@\\w+\\b/, alias: \"symbol\" } }), e.languages.kt = e.languages.kotlin, e.languages.kts = e.languages.kotlin;\n})(p), p.languages.c = p.languages.extend(\"clike\", { comment: { pattern: /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/, greedy: !0 }, string: { pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/, greedy: !0 }, \"class-name\": { pattern: /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/, lookbehind: !0 }, keyword: /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/, function: /\\b[a-z_]\\w*(?=\\s*\\()/i, number: /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i, operator: />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/ }), p.languages.insertBefore(\"c\", \"string\", { char: { pattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/, greedy: !0 } }), p.languages.insertBefore(\"c\", \"string\", { macro: { pattern: /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im, lookbehind: !0, greedy: !0, alias: \"property\", inside: { string: [{ pattern: /^(#\\s*include\\s*)<[^>]+>/, lookbehind: !0 }, p.languages.c.string], char: p.languages.c.char, comment: p.languages.c.comment, \"macro-name\": [{ pattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i, lookbehind: !0 }, { pattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i, lookbehind: !0, alias: \"function\" }], directive: { pattern: /^(#\\s*)[a-z]+/, lookbehind: !0, alias: \"keyword\" }, \"directive-hash\": /^#/, punctuation: /##|\\\\(?=[\\r\\n])/, expression: { pattern: /\\S[\\s\\S]*/, inside: p.languages.c } } } }), p.languages.insertBefore(\"c\", \"function\", { constant: /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/ }), delete p.languages.c.boolean, p.languages.objectivec = p.languages.extend(\"c\", { string: { pattern: /@?\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/, greedy: !0 }, keyword: /\\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/, operator: /-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/ }), delete p.languages.objectivec[\"class-name\"], p.languages.objc = p.languages.objectivec, p.languages.reason = p.languages.extend(\"clike\", { string: { pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/, greedy: !0 }, \"class-name\": /\\b[A-Z]\\w*/, keyword: /\\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\\b/, operator: /\\.{3}|:[:=]|\\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\\-*\\/]\\.?|\\b(?:asr|land|lor|lsl|lsr|lxor|mod)\\b/ }), p.languages.insertBefore(\"reason\", \"class-name\", { char: { pattern: /'(?:\\\\x[\\da-f]{2}|\\\\o[0-3][0-7][0-7]|\\\\\\d{3}|\\\\.|[^'\\\\\\r\\n])'/, greedy: !0 }, constructor: /\\b[A-Z]\\w*\\b(?!\\s*\\.)/, label: { pattern: /\\b[a-z]\\w*(?=::)/, alias: \"symbol\" } }), delete p.languages.reason.function, (function(e) {\n for (var t = /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\//.source, r = 0; r < 2; r++)\n t = t.replace(/<self>/g, function() {\n return t;\n });\n t = t.replace(/<self>/g, function() {\n return /[^\\s\\S]/.source;\n }), e.languages.rust = { comment: [{ pattern: RegExp(/(^|[^\\\\])/.source + t), lookbehind: !0, greedy: !0 }, { pattern: /(^|[^\\\\:])\\/\\/.*/, lookbehind: !0, greedy: !0 }], string: { pattern: /b?\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|b?r(#*)\"(?:[^\"]|\"(?!\\1))*\"\\1/, greedy: !0 }, char: { pattern: /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t'])'/, greedy: !0 }, attribute: { pattern: /#!?\\[(?:[^\\[\\]\"]|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")*\\]/, greedy: !0, alias: \"attr-name\", inside: { string: null } }, \"closure-params\": { pattern: /([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/, lookbehind: !0, greedy: !0, inside: { \"closure-punctuation\": { pattern: /^\\||\\|$/, alias: \"punctuation\" }, rest: null } }, \"lifetime-annotation\": { pattern: /'\\w+/, alias: \"symbol\" }, \"fragment-specifier\": { pattern: /(\\$\\w+:)[a-z]+/, lookbehind: !0, alias: \"punctuation\" }, variable: /\\$\\w+/, \"function-definition\": { pattern: /(\\bfn\\s+)\\w+/, lookbehind: !0, alias: \"function\" }, \"type-definition\": { pattern: /(\\b(?:enum|struct|trait|type|union)\\s+)\\w+/, lookbehind: !0, alias: \"class-name\" }, \"module-declaration\": [{ pattern: /(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/, lookbehind: !0, alias: \"namespace\" }, { pattern: /(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/, lookbehind: !0, alias: \"namespace\", inside: { punctuation: /::/ } }], keyword: [/\\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/, /\\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\\b/], function: /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/, macro: { pattern: /\\b\\w+!/, alias: \"property\" }, constant: /\\b[A-Z_][A-Z_\\d]+\\b/, \"class-name\": /\\b[A-Z]\\w*\\b/, namespace: { pattern: /(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/, inside: { punctuation: /::/ } }, number: /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\\b/, boolean: /\\b(?:false|true)\\b/, punctuation: /->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/, operator: /[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?=?|[@?]/ }, e.languages.rust[\"closure-params\"].inside.rest = e.languages.rust, e.languages.rust.attribute.inside.string = e.languages.rust.string;\n})(p), p.languages.go = p.languages.extend(\"clike\", { string: { pattern: /(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|`[^`]*`/, lookbehind: !0, greedy: !0 }, keyword: /\\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/, boolean: /\\b(?:_|false|iota|nil|true)\\b/, number: [/\\b0(?:b[01_]+|o[0-7_]+)i?\\b/i, /\\b0x(?:[a-f\\d_]+(?:\\.[a-f\\d_]*)?|\\.[a-f\\d_]+)(?:p[+-]?\\d+(?:_\\d+)*)?i?(?!\\w)/i, /(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?[\\d_]+)?i?(?!\\w)/i], operator: /[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./, builtin: /\\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\\b/ }), p.languages.insertBefore(\"go\", \"string\", { char: { pattern: /'(?:\\\\.|[^'\\\\\\r\\n]){0,10}'/, greedy: !0 } }), delete p.languages.go[\"class-name\"], (function(e) {\n var t = /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/, r = /\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b/.source.replace(/<keyword>/g, function() {\n return t.source;\n });\n e.languages.cpp = e.languages.extend(\"c\", { \"class-name\": [{ pattern: RegExp(/(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+/.source.replace(/<keyword>/g, function() {\n return t.source;\n })), lookbehind: !0 }, /\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/, /\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i, /\\b\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/], keyword: t, number: { pattern: /(?:\\b0b[01']+|\\b0x(?:[\\da-f']+(?:\\.[\\da-f']*)?|\\.[\\da-f']+)(?:p[+-]?[\\d']+)?|(?:\\b[\\d']+(?:\\.[\\d']*)?|\\B\\.[\\d']+)(?:e[+-]?[\\d']+)?)[ful]{0,4}/i, greedy: !0 }, operator: />>=?|<<=?|->|--|\\+\\+|&&|\\|\\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/, boolean: /\\b(?:false|true)\\b/ }), e.languages.insertBefore(\"cpp\", \"string\", { module: { pattern: RegExp(/(\\b(?:import|module)\\s+)/.source + \"(?:\" + /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|<[^<>\\r\\n]*>/.source + \"|\" + /<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>/.source.replace(/<mod-name>/g, function() {\n return r;\n }) + \")\"), lookbehind: !0, greedy: !0, inside: { string: /^[<\"][\\s\\S]+/, operator: /:/, punctuation: /\\./ } }, \"raw-string\": { pattern: /R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/, alias: \"string\", greedy: !0 } }), e.languages.insertBefore(\"cpp\", \"keyword\", { \"generic-function\": { pattern: /\\b(?!operator\\b)[a-z_]\\w*\\s*<(?:[^<>]|<[^<>]*>)*>(?=\\s*\\()/i, inside: { function: /^\\w+/, generic: { pattern: /<[\\s\\S]+/, alias: \"class-name\", inside: e.languages.cpp } } } }), e.languages.insertBefore(\"cpp\", \"operator\", { \"double-colon\": { pattern: /::/, alias: \"punctuation\" } }), e.languages.insertBefore(\"cpp\", \"class-name\", { \"base-clause\": { pattern: /(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}\"'\\s]+(?:\\s+[^;{}\"'\\s]+)*(?=\\s*[;{])/, lookbehind: !0, greedy: !0, inside: e.languages.extend(\"cpp\", {}) } }), e.languages.insertBefore(\"inside\", \"double-colon\", { \"class-name\": /\\b[a-z_]\\w*\\b(?!\\s*::)/i }, e.languages.cpp[\"base-clause\"]);\n})(p), p.languages.python = { comment: { pattern: /(^|[^\\\\])#.*/, lookbehind: !0, greedy: !0 }, \"string-interpolation\": { pattern: /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i, greedy: !0, inside: { interpolation: { pattern: /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/, lookbehind: !0, inside: { \"format-spec\": { pattern: /(:)[^:(){}]+(?=\\}$)/, lookbehind: !0 }, \"conversion-option\": { pattern: /![sra](?=[:}]$)/, alias: \"punctuation\" }, rest: null } }, string: /[\\s\\S]+/ } }, \"triple-quoted-string\": { pattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i, greedy: !0, alias: \"string\" }, string: { pattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i, greedy: !0 }, function: { pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g, lookbehind: !0 }, \"class-name\": { pattern: /(\\bclass\\s+)\\w+/i, lookbehind: !0 }, decorator: { pattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m, lookbehind: !0, alias: [\"annotation\", \"punctuation\"], inside: { punctuation: /\\./ } }, keyword: /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/, builtin: /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/, boolean: /\\b(?:False|None|True)\\b/, number: /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i, operator: /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/, punctuation: /[{}[\\];(),.:]/ }, p.languages.python[\"string-interpolation\"].inside.interpolation.inside.rest = p.languages.python, p.languages.py = p.languages.python, p.languages.json = { property: { pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/, lookbehind: !0, greedy: !0 }, string: { pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?!\\s*:)/, lookbehind: !0, greedy: !0 }, comment: { pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/, greedy: !0 }, number: /-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i, punctuation: /[{}[\\],]/, operator: /:/, boolean: /\\b(?:false|true)\\b/, null: { pattern: /\\bnull\\b/, alias: \"keyword\" } }, p.languages.webmanifest = p.languages.json;\nvar Lr = {};\nSr(Lr, {\n dracula: () => Dr,\n duotoneDark: () => Or,\n duotoneLight: () => Pr,\n github: () => Hr,\n gruvboxMaterialDark: () => fa,\n gruvboxMaterialLight: () => ha,\n jettwaveDark: () => oa,\n jettwaveLight: () => ca,\n nightOwl: () => Ur,\n nightOwlLight: () => Vr,\n oceanicNext: () => qr,\n okaidia: () => Wr,\n oneDark: () => da,\n oneLight: () => ga,\n palenight: () => Kr,\n shadesOfPurple: () => Jr,\n synthwave84: () => ea,\n ultramin: () => ra,\n vsDark: () => Ct,\n vsLight: () => la\n});\nvar Br = {\n plain: {\n color: \"#F8F8F2\",\n backgroundColor: \"#282A36\"\n },\n styles: [\n {\n types: [\"prolog\", \"constant\", \"builtin\"],\n style: {\n color: \"rgb(189, 147, 249)\"\n }\n },\n {\n types: [\"inserted\", \"function\"],\n style: {\n color: \"rgb(80, 250, 123)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgb(255, 85, 85)\"\n }\n },\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(255, 184, 108)\"\n }\n },\n {\n types: [\"punctuation\", \"symbol\"],\n style: {\n color: \"rgb(248, 248, 242)\"\n }\n },\n {\n types: [\"string\", \"char\", \"tag\", \"selector\"],\n style: {\n color: \"rgb(255, 121, 198)\"\n }\n },\n {\n types: [\"keyword\", \"variable\"],\n style: {\n color: \"rgb(189, 147, 249)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(98, 114, 164)\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"rgb(241, 250, 140)\"\n }\n }\n ]\n}, Dr = Br, Ir = {\n plain: {\n backgroundColor: \"#2a2734\",\n color: \"#9a86fd\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"doctype\", \"cdata\", \"punctuation\"],\n style: {\n color: \"#6c6783\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n },\n {\n types: [\"tag\", \"operator\", \"number\"],\n style: {\n color: \"#e09142\"\n }\n },\n {\n types: [\"property\", \"function\"],\n style: {\n color: \"#9a86fd\"\n }\n },\n {\n types: [\"tag-id\", \"selector\", \"atrule-id\"],\n style: {\n color: \"#eeebff\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"#c4b9fe\"\n }\n },\n {\n types: [\n \"boolean\",\n \"string\",\n \"entity\",\n \"url\",\n \"attr-value\",\n \"keyword\",\n \"control\",\n \"directive\",\n \"unit\",\n \"statement\",\n \"regex\",\n \"atrule\",\n \"placeholder\",\n \"variable\"\n ],\n style: {\n color: \"#ffcc99\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"#c4b9fe\"\n }\n }\n ]\n}, Or = Ir, Nr = {\n plain: {\n backgroundColor: \"#faf8f5\",\n color: \"#728fcb\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"doctype\", \"cdata\", \"punctuation\"],\n style: {\n color: \"#b6ad9a\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n },\n {\n types: [\"tag\", \"operator\", \"number\"],\n style: {\n color: \"#063289\"\n }\n },\n {\n types: [\"property\", \"function\"],\n style: {\n color: \"#b29762\"\n }\n },\n {\n types: [\"tag-id\", \"selector\", \"atrule-id\"],\n style: {\n color: \"#2d2006\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"#896724\"\n }\n },\n {\n types: [\n \"boolean\",\n \"string\",\n \"entity\",\n \"url\",\n \"attr-value\",\n \"keyword\",\n \"control\",\n \"directive\",\n \"unit\",\n \"statement\",\n \"regex\",\n \"atrule\"\n ],\n style: {\n color: \"#728fcb\"\n }\n },\n {\n types: [\"placeholder\", \"variable\"],\n style: {\n color: \"#93abdc\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"#896724\"\n }\n }\n ]\n}, Pr = Nr, $r = {\n plain: {\n color: \"#393A34\",\n backgroundColor: \"#f6f8fa\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"doctype\", \"cdata\"],\n style: {\n color: \"#999988\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n },\n {\n types: [\"string\", \"attr-value\"],\n style: {\n color: \"#e3116c\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"#393A34\"\n }\n },\n {\n types: [\n \"entity\",\n \"url\",\n \"symbol\",\n \"number\",\n \"boolean\",\n \"variable\",\n \"constant\",\n \"property\",\n \"regex\",\n \"inserted\"\n ],\n style: {\n color: \"#36acaa\"\n }\n },\n {\n types: [\"atrule\", \"keyword\", \"attr-name\", \"selector\"],\n style: {\n color: \"#00a4db\"\n }\n },\n {\n types: [\"function\", \"deleted\", \"tag\"],\n style: {\n color: \"#d73a49\"\n }\n },\n {\n types: [\"function-variable\"],\n style: {\n color: \"#6f42c1\"\n }\n },\n {\n types: [\"tag\", \"selector\", \"keyword\"],\n style: {\n color: \"#00009f\"\n }\n }\n ]\n}, Hr = $r, Mr = {\n plain: {\n color: \"#d6deeb\",\n backgroundColor: \"#011627\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(162, 191, 252)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgba(239, 83, 80, 0.56)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"inserted\", \"attr-name\"],\n style: {\n color: \"rgb(173, 219, 103)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(99, 119, 119)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"url\"],\n style: {\n color: \"rgb(173, 219, 103)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(214, 222, 235)\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"rgb(247, 140, 108)\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\"],\n style: {\n color: \"rgb(130, 170, 255)\"\n }\n },\n {\n // This was manually added after the auto-generation\n // so that punctuations are not italicised\n types: [\"punctuation\"],\n style: {\n color: \"rgb(199, 146, 234)\"\n }\n },\n {\n types: [\"selector\", \"doctype\"],\n style: {\n color: \"rgb(199, 146, 234)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(255, 203, 139)\"\n }\n },\n {\n types: [\"tag\", \"operator\", \"keyword\"],\n style: {\n color: \"rgb(127, 219, 202)\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"rgb(255, 88, 116)\"\n }\n },\n {\n types: [\"property\"],\n style: {\n color: \"rgb(128, 203, 196)\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n color: \"rgb(178, 204, 214)\"\n }\n }\n ]\n}, Ur = Mr, zr = {\n plain: {\n color: \"#403f53\",\n backgroundColor: \"#FBFBFB\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(162, 191, 252)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgba(239, 83, 80, 0.56)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"inserted\", \"attr-name\"],\n style: {\n color: \"rgb(72, 118, 214)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(152, 159, 177)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"builtin\", \"char\", \"constant\", \"url\"],\n style: {\n color: \"rgb(72, 118, 214)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(201, 103, 101)\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"rgb(170, 9, 130)\"\n }\n },\n {\n // This was manually added after the auto-generation\n // so that punctuations are not italicised\n types: [\"punctuation\"],\n style: {\n color: \"rgb(153, 76, 195)\"\n }\n },\n {\n types: [\"function\", \"selector\", \"doctype\"],\n style: {\n color: \"rgb(153, 76, 195)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(17, 17, 17)\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"rgb(153, 76, 195)\"\n }\n },\n {\n types: [\"operator\", \"property\", \"keyword\", \"namespace\"],\n style: {\n color: \"rgb(12, 150, 155)\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"rgb(188, 84, 84)\"\n }\n }\n ]\n}, Vr = zr, Z = {\n char: \"#D8DEE9\",\n comment: \"#999999\",\n keyword: \"#c5a5c5\",\n primitive: \"#5a9bcf\",\n string: \"#8dc891\",\n variable: \"#d7deea\",\n boolean: \"#ff8b50\",\n tag: \"#fc929e\",\n function: \"#79b6f2\",\n className: \"#FAC863\"\n}, Gr = {\n plain: {\n backgroundColor: \"#282c34\",\n color: \"#ffffff\"\n },\n styles: [\n {\n types: [\"attr-name\"],\n style: {\n color: Z.keyword\n }\n },\n {\n types: [\"attr-value\"],\n style: {\n color: Z.string\n }\n },\n {\n types: [\n \"comment\",\n \"block-comment\",\n \"prolog\",\n \"doctype\",\n \"cdata\",\n \"shebang\"\n ],\n style: {\n color: Z.comment\n }\n },\n {\n types: [\n \"property\",\n \"number\",\n \"function-name\",\n \"constant\",\n \"symbol\",\n \"deleted\"\n ],\n style: {\n color: Z.primitive\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: Z.boolean\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: Z.tag\n }\n },\n {\n types: [\"string\"],\n style: {\n color: Z.string\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: Z.string\n }\n },\n {\n types: [\"selector\", \"char\", \"builtin\", \"inserted\"],\n style: {\n color: Z.char\n }\n },\n {\n types: [\"function\"],\n style: {\n color: Z.function\n }\n },\n {\n types: [\"operator\", \"entity\", \"url\", \"variable\"],\n style: {\n color: Z.variable\n }\n },\n {\n types: [\"keyword\"],\n style: {\n color: Z.keyword\n }\n },\n {\n types: [\"atrule\", \"class-name\"],\n style: {\n color: Z.className\n }\n },\n {\n types: [\"important\"],\n style: {\n fontWeight: \"400\"\n }\n },\n {\n types: [\"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n }\n ]\n}, qr = Gr, Zr = {\n plain: {\n color: \"#f8f8f2\",\n backgroundColor: \"#272822\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(162, 191, 252)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"#f92672\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n color: \"rgb(173, 219, 103)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"#8292a2\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"url\"],\n style: {\n color: \"#a6e22e\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"#f8f8f2\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"#ae81ff\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\", \"class-name\"],\n style: {\n color: \"#e6db74\"\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: \"#f8f8f2\"\n }\n },\n {\n types: [\"selector\", \"doctype\"],\n style: {\n color: \"#a6e22e\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"tag\", \"operator\", \"keyword\"],\n style: {\n color: \"#66d9ef\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"#ae81ff\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n color: \"rgb(178, 204, 214)\",\n opacity: 0.7\n }\n },\n {\n types: [\"tag\", \"property\"],\n style: {\n color: \"#f92672\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"#a6e22e !important\"\n }\n },\n {\n types: [\"doctype\"],\n style: {\n color: \"#8292a2\"\n }\n },\n {\n types: [\"rule\"],\n style: {\n color: \"#e6db74\"\n }\n }\n ]\n}, Wr = Zr, Yr = {\n plain: {\n color: \"#bfc7d5\",\n backgroundColor: \"#292d3e\"\n },\n styles: [\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(105, 112, 152)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"inserted\"],\n style: {\n color: \"rgb(195, 232, 141)\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"rgb(247, 140, 108)\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\"],\n style: {\n color: \"rgb(130, 170, 255)\"\n }\n },\n {\n types: [\"punctuation\", \"selector\"],\n style: {\n color: \"rgb(199, 146, 234)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(191, 199, 213)\"\n }\n },\n {\n types: [\"class-name\", \"attr-name\"],\n style: {\n color: \"rgb(255, 203, 107)\"\n }\n },\n {\n types: [\"tag\", \"deleted\"],\n style: {\n color: \"rgb(255, 85, 114)\"\n }\n },\n {\n types: [\"operator\"],\n style: {\n color: \"rgb(137, 221, 255)\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"rgb(255, 88, 116)\"\n }\n },\n {\n types: [\"keyword\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"doctype\"],\n style: {\n color: \"rgb(199, 146, 234)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n color: \"rgb(178, 204, 214)\"\n }\n },\n {\n types: [\"url\"],\n style: {\n color: \"rgb(221, 221, 221)\"\n }\n }\n ]\n}, Kr = Yr, Xr = {\n plain: {\n color: \"#9EFEFF\",\n backgroundColor: \"#2D2A55\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(255, 238, 128)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgba(239, 83, 80, 0.56)\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n color: \"rgb(173, 219, 103)\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(179, 98, 255)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: \"rgb(255, 255, 255)\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"rgb(255, 98, 140)\"\n }\n },\n {\n types: [\"string\", \"url\"],\n style: {\n color: \"rgb(165, 255, 144)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(255, 238, 128)\"\n }\n },\n {\n types: [\"number\", \"boolean\"],\n style: {\n color: \"rgb(255, 98, 140)\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"rgb(255, 180, 84)\"\n }\n },\n {\n types: [\n \"keyword\",\n \"operator\",\n \"property\",\n \"namespace\",\n \"tag\",\n \"selector\",\n \"doctype\"\n ],\n style: {\n color: \"rgb(255, 157, 0)\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\", \"class-name\"],\n style: {\n color: \"rgb(250, 208, 0)\"\n }\n }\n ]\n}, Jr = Xr, Qr = {\n plain: {\n backgroundColor: \"linear-gradient(to bottom, #2a2139 75%, #34294f)\",\n backgroundImage: \"#34294f\",\n color: \"#f92aad\",\n textShadow: \"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3\"\n },\n styles: [\n {\n types: [\"comment\", \"block-comment\", \"prolog\", \"doctype\", \"cdata\"],\n style: {\n color: \"#495495\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: \"#ccc\"\n }\n },\n {\n types: [\n \"tag\",\n \"attr-name\",\n \"namespace\",\n \"number\",\n \"unit\",\n \"hexcode\",\n \"deleted\"\n ],\n style: {\n color: \"#e2777a\"\n }\n },\n {\n types: [\"property\", \"selector\"],\n style: {\n color: \"#72f1b8\",\n textShadow: \"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475\"\n }\n },\n {\n types: [\"function-name\"],\n style: {\n color: \"#6196cc\"\n }\n },\n {\n types: [\"boolean\", \"selector-id\", \"function\"],\n style: {\n color: \"#fdfdfd\",\n textShadow: \"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975\"\n }\n },\n {\n types: [\"class-name\", \"maybe-class-name\", \"builtin\"],\n style: {\n color: \"#fff5f6\",\n textShadow: \"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75\"\n }\n },\n {\n types: [\"constant\", \"symbol\"],\n style: {\n color: \"#f92aad\",\n textShadow: \"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3\"\n }\n },\n {\n types: [\"important\", \"atrule\", \"keyword\", \"selector-class\"],\n style: {\n color: \"#f4eee4\",\n textShadow: \"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575\"\n }\n },\n {\n types: [\"string\", \"char\", \"attr-value\", \"regex\", \"variable\"],\n style: {\n color: \"#f87c32\"\n }\n },\n {\n types: [\"parameter\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"entity\", \"url\"],\n style: {\n color: \"#67cdcc\"\n }\n },\n {\n types: [\"operator\"],\n style: {\n color: \"ffffffee\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"entity\"],\n style: {\n cursor: \"help\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n color: \"green\"\n }\n }\n ]\n}, ea = Qr, ta = {\n plain: {\n color: \"#282a2e\",\n backgroundColor: \"#ffffff\"\n },\n styles: [\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(197, 200, 198)\"\n }\n },\n {\n types: [\"string\", \"number\", \"builtin\", \"variable\"],\n style: {\n color: \"rgb(150, 152, 150)\"\n }\n },\n {\n types: [\"class-name\", \"function\", \"tag\", \"attr-name\"],\n style: {\n color: \"rgb(40, 42, 46)\"\n }\n }\n ]\n}, ra = ta, aa = {\n plain: {\n color: \"#9CDCFE\",\n backgroundColor: \"#1E1E1E\"\n },\n styles: [\n {\n types: [\"prolog\"],\n style: {\n color: \"rgb(0, 0, 128)\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(106, 153, 85)\"\n }\n },\n {\n types: [\"builtin\", \"changed\", \"keyword\", \"interpolation-punctuation\"],\n style: {\n color: \"rgb(86, 156, 214)\"\n }\n },\n {\n types: [\"number\", \"inserted\"],\n style: {\n color: \"rgb(181, 206, 168)\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"rgb(100, 102, 149)\"\n }\n },\n {\n types: [\"attr-name\", \"variable\"],\n style: {\n color: \"rgb(156, 220, 254)\"\n }\n },\n {\n types: [\"deleted\", \"string\", \"attr-value\", \"template-punctuation\"],\n style: {\n color: \"rgb(206, 145, 120)\"\n }\n },\n {\n types: [\"selector\"],\n style: {\n color: \"rgb(215, 186, 125)\"\n }\n },\n {\n // Fix tag color\n types: [\"tag\"],\n style: {\n color: \"rgb(78, 201, 176)\"\n }\n },\n {\n // Fix tag color for HTML\n types: [\"tag\"],\n languages: [\"markup\"],\n style: {\n color: \"rgb(86, 156, 214)\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"rgb(212, 212, 212)\"\n }\n },\n {\n // Fix punctuation color for HTML\n types: [\"punctuation\"],\n languages: [\"markup\"],\n style: {\n color: \"#808080\"\n }\n },\n {\n types: [\"function\"],\n style: {\n color: \"rgb(220, 220, 170)\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(78, 201, 176)\"\n }\n },\n {\n types: [\"char\"],\n style: {\n color: \"rgb(209, 105, 105)\"\n }\n }\n ]\n}, Ct = aa, na = {\n plain: {\n color: \"#000000\",\n backgroundColor: \"#ffffff\"\n },\n styles: [\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(0, 128, 0)\"\n }\n },\n {\n types: [\"builtin\"],\n style: {\n color: \"rgb(0, 112, 193)\"\n }\n },\n {\n types: [\"number\", \"variable\", \"inserted\"],\n style: {\n color: \"rgb(9, 134, 88)\"\n }\n },\n {\n types: [\"operator\"],\n style: {\n color: \"rgb(0, 0, 0)\"\n }\n },\n {\n types: [\"constant\", \"char\"],\n style: {\n color: \"rgb(129, 31, 63)\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"rgb(128, 0, 0)\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"rgb(255, 0, 0)\"\n }\n },\n {\n types: [\"deleted\", \"string\"],\n style: {\n color: \"rgb(163, 21, 21)\"\n }\n },\n {\n types: [\"changed\", \"punctuation\"],\n style: {\n color: \"rgb(4, 81, 165)\"\n }\n },\n {\n types: [\"function\", \"keyword\"],\n style: {\n color: \"rgb(0, 0, 255)\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(38, 127, 153)\"\n }\n }\n ]\n}, la = na, ia = {\n plain: {\n color: \"#f8fafc\",\n backgroundColor: \"#011627\"\n },\n styles: [\n {\n types: [\"prolog\"],\n style: {\n color: \"#000080\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"#6A9955\"\n }\n },\n {\n types: [\"builtin\", \"changed\", \"keyword\", \"interpolation-punctuation\"],\n style: {\n color: \"#569CD6\"\n }\n },\n {\n types: [\"number\", \"inserted\"],\n style: {\n color: \"#B5CEA8\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"#f8fafc\"\n }\n },\n {\n types: [\"attr-name\", \"variable\"],\n style: {\n color: \"#9CDCFE\"\n }\n },\n {\n types: [\"deleted\", \"string\", \"attr-value\", \"template-punctuation\"],\n style: {\n color: \"#cbd5e1\"\n }\n },\n {\n types: [\"selector\"],\n style: {\n color: \"#D7BA7D\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"tag\"],\n languages: [\"markup\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"#D4D4D4\"\n }\n },\n {\n types: [\"punctuation\"],\n languages: [\"markup\"],\n style: {\n color: \"#808080\"\n }\n },\n {\n types: [\"function\"],\n style: {\n color: \"#7dd3fc\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"char\"],\n style: {\n color: \"#D16969\"\n }\n }\n ]\n}, oa = ia, sa = {\n plain: {\n color: \"#0f172a\",\n backgroundColor: \"#f1f5f9\"\n },\n styles: [\n {\n types: [\"prolog\"],\n style: {\n color: \"#000080\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"#6A9955\"\n }\n },\n {\n types: [\"builtin\", \"changed\", \"keyword\", \"interpolation-punctuation\"],\n style: {\n color: \"#0c4a6e\"\n }\n },\n {\n types: [\"number\", \"inserted\"],\n style: {\n color: \"#B5CEA8\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"#0f172a\"\n }\n },\n {\n types: [\"attr-name\", \"variable\"],\n style: {\n color: \"#0c4a6e\"\n }\n },\n {\n types: [\"deleted\", \"string\", \"attr-value\", \"template-punctuation\"],\n style: {\n color: \"#64748b\"\n }\n },\n {\n types: [\"selector\"],\n style: {\n color: \"#D7BA7D\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"tag\"],\n languages: [\"markup\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"#475569\"\n }\n },\n {\n types: [\"punctuation\"],\n languages: [\"markup\"],\n style: {\n color: \"#808080\"\n }\n },\n {\n types: [\"function\"],\n style: {\n color: \"#0e7490\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"char\"],\n style: {\n color: \"#D16969\"\n }\n }\n ]\n}, ca = sa, ua = {\n plain: {\n backgroundColor: \"hsl(220, 13%, 18%)\",\n color: \"hsl(220, 14%, 71%)\",\n textShadow: \"0 1px rgba(0, 0, 0, 0.3)\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"cdata\"],\n style: {\n color: \"hsl(220, 10%, 40%)\"\n }\n },\n {\n types: [\"doctype\", \"punctuation\", \"entity\"],\n style: {\n color: \"hsl(220, 14%, 71%)\"\n }\n },\n {\n types: [\n \"attr-name\",\n \"class-name\",\n \"maybe-class-name\",\n \"boolean\",\n \"constant\",\n \"number\",\n \"atrule\"\n ],\n style: { color: \"hsl(29, 54%, 61%)\" }\n },\n {\n types: [\"keyword\"],\n style: { color: \"hsl(286, 60%, 67%)\" }\n },\n {\n types: [\"property\", \"tag\", \"symbol\", \"deleted\", \"important\"],\n style: {\n color: \"hsl(355, 65%, 65%)\"\n }\n },\n {\n types: [\n \"selector\",\n \"string\",\n \"char\",\n \"builtin\",\n \"inserted\",\n \"regex\",\n \"attr-value\"\n ],\n style: {\n color: \"hsl(95, 38%, 62%)\"\n }\n },\n {\n types: [\"variable\", \"operator\", \"function\"],\n style: {\n color: \"hsl(207, 82%, 66%)\"\n }\n },\n {\n types: [\"url\"],\n style: {\n color: \"hsl(187, 47%, 55%)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"hsl(220, 14%, 71%)\"\n }\n }\n ]\n}, da = ua, pa = {\n plain: {\n backgroundColor: \"hsl(230, 1%, 98%)\",\n color: \"hsl(230, 8%, 24%)\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"cdata\"],\n style: {\n color: \"hsl(230, 4%, 64%)\"\n }\n },\n {\n types: [\"doctype\", \"punctuation\", \"entity\"],\n style: {\n color: \"hsl(230, 8%, 24%)\"\n }\n },\n {\n types: [\n \"attr-name\",\n \"class-name\",\n \"boolean\",\n \"constant\",\n \"number\",\n \"atrule\"\n ],\n style: {\n color: \"hsl(35, 99%, 36%)\"\n }\n },\n {\n types: [\"keyword\"],\n style: {\n color: \"hsl(301, 63%, 40%)\"\n }\n },\n {\n types: [\"property\", \"tag\", \"symbol\", \"deleted\", \"important\"],\n style: {\n color: \"hsl(5, 74%, 59%)\"\n }\n },\n {\n types: [\n \"selector\",\n \"string\",\n \"char\",\n \"builtin\",\n \"inserted\",\n \"regex\",\n \"attr-value\",\n \"punctuation\"\n ],\n style: {\n color: \"hsl(119, 34%, 47%)\"\n }\n },\n {\n types: [\"variable\", \"operator\", \"function\"],\n style: {\n color: \"hsl(221, 87%, 60%)\"\n }\n },\n {\n types: [\"url\"],\n style: {\n color: \"hsl(198, 99%, 37%)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"hsl(230, 8%, 24%)\"\n }\n }\n ]\n}, ga = pa, ya = {\n plain: {\n color: \"#ebdbb2\",\n backgroundColor: \"#292828\"\n },\n styles: [\n {\n types: [\n \"imports\",\n \"class-name\",\n \"maybe-class-name\",\n \"constant\",\n \"doctype\",\n \"builtin\",\n \"function\"\n ],\n style: {\n color: \"#d8a657\"\n }\n },\n {\n types: [\"property-access\"],\n style: {\n color: \"#7daea3\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#e78a4e\"\n }\n },\n {\n types: [\"attr-name\", \"char\", \"url\", \"regex\"],\n style: {\n color: \"#a9b665\"\n }\n },\n {\n types: [\"attr-value\", \"string\"],\n style: {\n color: \"#89b482\"\n }\n },\n {\n types: [\"comment\", \"prolog\", \"cdata\", \"operator\", \"inserted\"],\n style: {\n color: \"#a89984\"\n }\n },\n {\n types: [\n \"delimiter\",\n \"boolean\",\n \"keyword\",\n \"selector\",\n \"important\",\n \"atrule\",\n \"property\",\n \"variable\",\n \"deleted\"\n ],\n style: {\n color: \"#ea6962\"\n }\n },\n {\n types: [\"entity\", \"number\", \"symbol\"],\n style: {\n color: \"#d3869b\"\n }\n }\n ]\n}, fa = ya, ba = {\n plain: {\n color: \"#654735\",\n backgroundColor: \"#f9f5d7\"\n },\n styles: [\n {\n types: [\n \"delimiter\",\n \"boolean\",\n \"keyword\",\n \"selector\",\n \"important\",\n \"atrule\",\n \"property\",\n \"variable\",\n \"deleted\"\n ],\n style: {\n color: \"#af2528\"\n }\n },\n {\n types: [\n \"imports\",\n \"class-name\",\n \"maybe-class-name\",\n \"constant\",\n \"doctype\",\n \"builtin\"\n ],\n style: {\n color: \"#b4730e\"\n }\n },\n {\n types: [\"string\", \"attr-value\"],\n style: {\n color: \"#477a5b\"\n }\n },\n {\n types: [\"property-access\"],\n style: {\n color: \"#266b79\"\n }\n },\n {\n types: [\"function\", \"attr-name\", \"char\", \"url\"],\n style: {\n color: \"#72761e\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#b94c07\"\n }\n },\n {\n types: [\"comment\", \"prolog\", \"cdata\", \"operator\", \"inserted\"],\n style: {\n color: \"#a89984\"\n }\n },\n {\n types: [\"entity\", \"number\", \"symbol\"],\n style: {\n color: \"#924f79\"\n }\n }\n ]\n}, ha = ba, xa = (e) => Ne(\n (t) => {\n var r = t, { className: i, style: s } = r, g = vt(r, [\"className\", \"style\", \"line\"]);\n const o = Te(Q({}, g), {\n className: $e(\"token-line\", i)\n });\n return typeof e == \"object\" && \"plain\" in e && (o.style = e.plain), typeof s == \"object\" && (o.style = Q(Q({}, o.style || {}), s)), o;\n },\n [e]\n), ma = (e) => {\n const t = Ne(\n ({ types: r, empty: i }) => {\n if (e != null) {\n {\n if (r.length === 1 && r[0] === \"plain\")\n return i != null ? { display: \"inline-block\" } : void 0;\n if (r.length === 1 && i != null)\n return e[r[0]];\n }\n return Object.assign(\n i != null ? { display: \"inline-block\" } : {},\n ...r.map((s) => e[s])\n );\n }\n },\n [e]\n );\n return Ne(\n (r) => {\n var i = r, { token: s, className: g, style: o } = i, b = vt(i, [\"token\", \"className\", \"style\"]);\n const c = Te(Q({}, b), {\n className: $e(\"token\", ...s.types, g),\n children: s.content,\n style: t(s)\n });\n return o != null && (c.style = Q(Q({}, c.style || {}), o)), c;\n },\n [t]\n );\n}, ka = /\\r\\n|\\r|\\n/, ct = (e) => {\n e.length === 0 ? e.push({\n types: [\"plain\"],\n content: `\n`,\n empty: !0\n }) : e.length === 1 && e[0].content === \"\" && (e[0].content = `\n`, e[0].empty = !0);\n}, ut = (e, t) => {\n const r = e.length;\n return r > 0 && e[r - 1] === t ? e : e.concat(t);\n}, va = (e) => {\n const t = [[]], r = [e], i = [0], s = [e.length];\n let g = 0, o = 0, b = [];\n const c = [b];\n for (; o > -1; ) {\n for (; (g = i[o]++) < s[o]; ) {\n let m, k = t[o];\n const E = r[o][g];\n if (typeof E == \"string\" ? (k = o > 0 ? k : [\"plain\"], m = E) : (k = ut(k, E.type), E.alias && (k = ut(k, E.alias)), m = E.content), typeof m != \"string\") {\n o++, t.push(k), r.push(m), i.push(0), s.push(m.length);\n continue;\n }\n const _ = m.split(ka), d = _.length;\n b.push({\n types: k,\n content: _[0]\n });\n for (let u = 1; u < d; u++)\n ct(b), c.push(b = []), b.push({\n types: k,\n content: _[u]\n });\n }\n o--, t.pop(), r.pop(), i.pop(), s.pop();\n }\n return ct(b), c;\n}, dt = va, Ca = ({ prism: e, code: t, grammar: r, language: i }) => gt(() => {\n if (r == null)\n return dt([t]);\n const s = {\n code: t,\n grammar: r,\n language: i,\n tokens: []\n };\n return e.hooks.run(\"before-tokenize\", s), s.tokens = e.tokenize(t, r), e.hooks.run(\"after-tokenize\", s), dt(s.tokens);\n}, [\n t,\n r,\n i,\n // prism is a stable import\n e\n]), wa = (e, t) => {\n const { plain: r } = e, i = e.styles.reduce((s, g) => {\n const { languages: o, style: b } = g;\n return o && !o.includes(t) || g.types.forEach((c) => {\n const m = Q(Q({}, s[c]), b);\n s[c] = m;\n }), s;\n }, {});\n return i.root = r, i.plain = Te(Q({}, r), { backgroundColor: void 0 }), i;\n}, Ea = wa, Fa = ({\n children: e,\n language: t,\n code: r,\n theme: i,\n prism: s\n}) => {\n const g = t.toLowerCase(), o = Ea(i, g), b = xa(o), c = ma(o), m = s.languages[g], k = Ca({ prism: s, language: g, code: r, grammar: m });\n return e({\n tokens: k,\n className: `prism-code language-${g}`,\n style: o != null ? o.root : {},\n getLineProps: b,\n getTokenProps: c\n });\n}, _a = (e) => Qt(Fa, Te(Q({}, e), {\n prism: e.prism || p,\n theme: e.theme || Ct,\n code: e.code,\n language: e.language\n}));\n/*! Bundled license information:\n\nprismjs/prism.js:\n (**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n *)\n*/\nconst Aa = (e, t) => t.some((r) => {\n if (typeof r == \"number\")\n return e === r;\n const [i, s] = r.split(\":\").map((g) => parseInt(g));\n return i <= e && e <= s;\n}), Sa = (e, t, r) => r.some(([i, [s, g]]) => i === e && s <= t && t <= g), ja = (e, t) => e.split(new RegExp(`(${t.map(([r]) => r).join(\"|\")})`)).filter(Boolean), Ta = (e) => e.map((t) => {\n t = t.startsWith(\"/\") ? t : \"/\" + t;\n const [, r, i = \"0:Infinity\"] = t.split(\"/\"), [s, g = s] = i.split(\":\").map((o) => Number(o));\n return [r, [s, g]];\n}), wt = (e, t) => () => {\n const r = tr(e);\n if (r === void 0)\n throw new Error(t);\n return r;\n}, Re = (e) => Object.assign(er(e), {\n displayName: e.displayName ?? e.name\n}), Et = yt(void 0), Ft = yt(void 0), _t = wt(Et, 'Could not find nearest <CodeBlock /> component. Please wrap this component with a <CodeBlock /> component imported from \"react-code-block\".'), Me = wt(Ft, 'Could not find nearest <CodeBlock.Code /> component. Please wrap this component with <CodeBlock.Code /> component imported from \"react-code-block\".'), ae = ({ code: e, words: t = [], lines: r = [], children: i, ...s }) => {\n const g = gt(() => Ta(t), [t]);\n return n.jsx(Et.Provider, { value: { code: e.trim(), words: g, lines: r, ...s }, children: i });\n}, Ra = ({ as: e, children: t, ...r }, i) => {\n const { lines: s, words: g, ...o } = _t(), b = e ?? \"pre\";\n return n.jsx(_a, { ...o, children: (c) => n.jsx(b, { ...r, ref: i, children: c.tokens.map((m, k) => {\n const h = k + 1, E = Aa(h, s);\n return n.jsx(Ft.Provider, { value: { highlight: c, line: m, lineNumber: h }, children: typeof t == \"function\" ? t({ isLineHighlighted: E, lineNumber: h }, k) : t }, k);\n }) }) });\n}, La = ({ as: e, children: t, className: r, ...i }, s) => {\n const { highlight: g, line: o } = Me(), { getLineProps: b } = g, c = e ?? \"div\";\n return n.jsx(c, { ...b({ line: o, className: r }), ...i, ref: s, children: t });\n}, Ba = ({ as: e, children: t = ({ children: g }) => n.jsx(\"span\", { children: g }), className: r, ...i }, s) => {\n const { words: g } = _t(), { line: o, highlight: b, lineNumber: c } = Me(), { getTokenProps: m } = b, k = e ?? \"span\";\n return n.jsx(_e.Fragment, { children: o.map((h, E) => {\n const { children: _, ...d } = m({\n token: h,\n className: r\n }), u = g.length ? ja(_, g) : [_];\n return n.jsx(_e.Fragment, { children: u.map((y, v) => n.jsx(k, { ...d, ...i, ref: s, children: t({\n children: y,\n isTokenHighlighted: Sa(y, c, g)\n }) }, v)) }, E);\n }) });\n}, Da = ({ as: e, ...t }, r) => {\n const { lineNumber: i } = Me(), s = e ?? \"span\";\n return n.jsx(s, { ...t, ref: r, children: i });\n};\nae.Code = Re(Ra);\nae.LineContent = Re(La);\nae.Token = Re(Ba);\nae.LineNumber = Re(Da);\nconst Ka = ({ title: e, code: t, language: r = \"tsx\" }) => {\n const [i, s] = ge(!1), g = /* @__PURE__ */ n.jsx(\n ht,\n {\n \"aria-label\": \"Copy code block to clipboard\",\n size: \"small\",\n variant: \"secondary\",\n iconAfter: i ? /* @__PURE__ */ n.jsx(bt, {}) : /* @__PURE__ */ n.jsx(nr, {}),\n onClick: () => {\n navigator.clipboard.writeText(t), s(!0), setTimeout(() => s(!1), 2e3);\n }\n }\n );\n return /* @__PURE__ */ n.jsxs(\"div\", { className: \"flex flex-col py-2 gap-3\", children: [\n e && /* @__PURE__ */ n.jsx(\"div\", { className: \"flex flex-col py-2\", children: /* @__PURE__ */ n.jsx(z, { variant: \"H4\", children: e }) }),\n /* @__PURE__ */ n.jsx(ae, { code: t, language: r, children: /* @__PURE__ */ n.jsxs(\"div\", { className: \"relative group\", children: [\n /* @__PURE__ */ n.jsx(ae.Code, { className: \"bg-background-primary-dark p-4 rounded-md overflow-x-auto text-[13px] font-code\", children: /* @__PURE__ */ n.jsx(ae.LineContent, { children: /* @__PURE__ */ n.jsx(ae.Token, {}) }) }),\n /* @__PURE__ */ n.jsx(\"div\", { className: \"absolute top-2 right-2 invisible group-hover:visible\", children: g })\n ] }) })\n ] });\n}, Xa = ({ children: e, onExit: t }) => {\n const { ref: r } = Ue({\n isActive: !0,\n onDismiss: t,\n includeEscape: !0\n });\n return Se(() => {\n r.current?.focus();\n }, [r]), /* @__PURE__ */ n.jsx(\n \"div\",\n {\n ref: r,\n className: \"flex flex-col z-10 items-center justify-center fixed inset-0 bg-overlay-background-default-light dark:bg-overlay-background-default-dark outline-hidden\",\n tabIndex: -1,\n onClick: (i) => {\n i.target === i.currentTarget && t();\n },\n children: e\n }\n );\n}, Ja = ({ title: e, texts: t }) => /* @__PURE__ */ n.jsxs(\"div\", { className: \"flex flex-col py-3 rounded-lg bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\", children: [\n /* @__PURE__ */ n.jsx(\"div\", { className: \"flex px-3 py-2\", children: /* @__PURE__ */ n.jsx(z, { variant: \"H4\", children: e }) }),\n /* @__PURE__ */ n.jsx(\"div\", { className: \"flex flex-col gap-6 px-3 py-1\", children: t.map((r, i) => /* @__PURE__ */ n.jsx(z, { children: r }, i)) })\n] }), Qa = ({ size: e = 7, animation: t = \"animate-spin\" }) => /* @__PURE__ */ n.jsx(\"div\", { className: \"flex flex-col items-center justify-center\", children: /* @__PURE__ */ n.jsx(\"div\", { className: D(\"flex items-center justify-center\", t), children: /* @__PURE__ */ n.jsx(Ia, { size: e * 4 }) }) }), Ia = ({ dark: e, size: t }) => e ? /* @__PURE__ */ n.jsxs(\n \"svg\",\n {\n width: t || 413,\n height: t || 413,\n viewBox: \"0 0 413 413\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ n.jsxs(\"g\", { clipPath: \"url(#clip0_1096_247)\", children: [\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"207\", cy: \"206\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"324\", cy: \"207\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"258\", cy: \"236\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"258\", cy: \"177\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"156\", cy: \"177\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"207\", cy: \"266\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"207\", cy: \"147\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"207\", cy: \"89\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"148\", cy: \"105\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"105\", cy: \"147\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"89\", cy: \"206\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"148\", cy: \"308\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"207\", cy: \"324\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"265\", cy: \"308\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"308\", cy: \"266\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"105\", cy: \"266\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"156\", cy: \"236\", r: \"20\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"265\", cy: \"105\", r: \"20\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"309\", cy: \"147\", r: \"20\", fill: \"#FF6832\" })\n ] }),\n /* @__PURE__ */ n.jsx(\"defs\", { children: /* @__PURE__ */ n.jsx(\"clipPath\", { id: \"clip0_1096_247\", children: /* @__PURE__ */ n.jsx(\"rect\", { width: \"275\", height: \"275\", fill: \"white\", transform: \"translate(69 69)\" }) }) })\n ]\n }\n) : /* @__PURE__ */ n.jsxs(\n \"svg\",\n {\n width: t || 413,\n height: t || 413,\n viewBox: \"0 0 413 413\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ n.jsxs(\"g\", { clipPath: \"url(#clip0_1096_218)\", children: [\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"207\", cy: \"206\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"324\", cy: \"207\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"258\", cy: \"236\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"258\", cy: \"177\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"156\", cy: \"177\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"207\", cy: \"266\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"207\", cy: \"147\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"207\", cy: \"89\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"148\", cy: \"105\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"105\", cy: \"147\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"89\", cy: \"206\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"148\", cy: \"308\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"207\", cy: \"324\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"265\", cy: \"308\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"308\", cy: \"266\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"105\", cy: \"266\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"156\", cy: \"236\", r: \"20\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"265\", cy: \"105\", r: \"20\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"309\", cy: \"147\", r: \"20\", fill: \"#FF6832\" })\n ] }),\n /* @__PURE__ */ n.jsx(\"defs\", { children: /* @__PURE__ */ n.jsx(\"clipPath\", { id: \"clip0_1096_218\", children: /* @__PURE__ */ n.jsx(\"rect\", { width: \"275\", height: \"275\", fill: \"white\", transform: \"translate(69 69)\" }) }) })\n ]\n }\n), e2 = ({ dark: e, width: t, height: r }) => {\n const g = 3.1666666666666665;\n return r ? t = r * g : t ? r = t / g : (r = 48, t = 152), e ? /* @__PURE__ */ n.jsxs(\"svg\", { width: t, height: r, viewBox: \"0 0 152 48\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", children: [\n /* @__PURE__ */ n.jsxs(\"g\", { clipPath: \"url(#clip0_8_5921)\", children: [\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"23.4698\", cy: \"23.3296\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"39.9786\", cy: \"23.4703\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"30.667\", cy: \"27.5621\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"30.667\", cy: \"19.2378\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"16.2749\", cy: \"19.2378\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"23.4698\", cy: \"31.795\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"23.4698\", cy: \"15.0049\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"23.4698\", cy: \"6.82182\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"15.146\", cy: \"9.07914\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"9.08012\", cy: \"15.0049\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"6.82182\", cy: \"23.3296\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"15.146\", cy: \"37.7207\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"23.4698\", cy: \"39.9781\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"31.6534\", cy: \"37.7207\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"37.7203\", cy: \"31.795\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"9.08012\", cy: \"31.795\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"16.2749\", cy: \"27.5621\", r: \"2.82182\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"31.6534\", cy: \"9.07914\", r: \"2.82182\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"37.8619\", cy: \"15.0049\", r: \"2.82182\", fill: \"#FF6832\" }),\n /* @__PURE__ */ n.jsx(\n \"path\",\n {\n d: \"M60.112 33V16.2H63.76L72.568 28.2L71.776 28.08C71.696 27.552 71.632 27.048 71.584 26.568C71.536 26.088 71.488 25.616 71.44 25.152C71.408 24.688 71.376 24.216 71.344 23.736C71.328 23.256 71.312 22.736 71.296 22.176C71.296 21.616 71.296 21.008 71.296 20.352V16.2H75.256V33H71.56L62.368 20.616L63.592 20.784C63.672 21.552 63.736 22.208 63.784 22.752C63.848 23.28 63.896 23.752 63.928 24.168C63.976 24.584 64.008 24.96 64.024 25.296C64.04 25.632 64.048 25.968 64.048 26.304C64.064 26.624 64.072 26.984 64.072 27.384V33H60.112ZM85.1354 33.24C83.7274 33.24 82.5034 32.96 81.4634 32.4C80.4234 31.824 79.6154 31.048 79.0394 30.072C78.4634 29.08 78.1754 27.952 78.1754 26.688C78.1754 25.712 78.3354 24.816 78.6554 24C78.9754 23.184 79.4234 22.48 79.9994 21.888C80.5754 21.28 81.2554 20.816 82.0394 20.496C82.8394 20.16 83.7114 19.992 84.6554 19.992C85.5514 19.992 86.3674 20.152 87.1034 20.472C87.8554 20.792 88.5034 21.24 89.0474 21.816C89.5914 22.392 90.0074 23.072 90.2954 23.856C90.5834 24.64 90.7114 25.496 90.6794 26.424L90.6554 27.456H80.5034L79.9514 25.296H87.5354L87.1274 25.752V25.272C87.0954 24.872 86.9674 24.52 86.7434 24.216C86.5354 23.896 86.2554 23.648 85.9034 23.472C85.5514 23.296 85.1514 23.208 84.7034 23.208C84.0794 23.208 83.5434 23.336 83.0954 23.592C82.6634 23.832 82.3354 24.192 82.1114 24.672C81.8874 25.136 81.7754 25.712 81.7754 26.4C81.7754 27.104 81.9194 27.72 82.2074 28.248C82.5114 28.76 82.9434 29.16 83.5034 29.448C84.0794 29.736 84.7594 29.88 85.5434 29.88C86.0874 29.88 86.5674 29.8 86.9834 29.64C87.4154 29.48 87.8794 29.208 88.3754 28.824L90.1754 31.368C89.6794 31.8 89.1514 32.152 88.5914 32.424C88.0314 32.696 87.4554 32.896 86.8634 33.024C86.2874 33.168 85.7114 33.24 85.1354 33.24ZM93.1019 33V20.256H96.7499L96.8699 22.56L96.3659 22.584C96.5579 22.168 96.7979 21.8 97.0859 21.48C97.3899 21.16 97.7259 20.896 98.0939 20.688C98.4779 20.464 98.8699 20.296 99.2699 20.184C99.6859 20.072 100.102 20.016 100.518 20.016C101.142 20.016 101.71 20.112 102.222 20.304C102.734 20.496 103.182 20.808 103.566 21.24C103.95 21.656 104.254 22.224 104.478 22.944L103.878 22.896L104.07 22.512C104.278 22.128 104.542 21.784 104.862 21.48C105.198 21.16 105.566 20.896 105.966 20.688C106.366 20.464 106.782 20.296 107.214 20.184C107.646 20.072 108.062 20.016 108.462 20.016C109.47 20.016 110.31 20.216 110.982 20.616C111.654 21 112.158 21.584 112.494 22.368C112.846 23.152 113.022 24.104 113.022 25.224V33H109.158V25.536C109.158 25.024 109.086 24.6 108.942 24.264C108.798 23.928 108.582 23.68 108.294 23.52C108.022 23.344 107.678 23.256 107.262 23.256C106.926 23.256 106.614 23.312 106.326 23.424C106.054 23.536 105.814 23.688 105.606 23.88C105.414 24.072 105.262 24.296 105.15 24.552C105.038 24.808 104.982 25.096 104.982 25.416V33H101.118V25.512C101.118 25.032 101.046 24.624 100.902 24.288C100.758 23.952 100.542 23.696 100.254 23.52C99.9659 23.344 99.6299 23.256 99.2459 23.256C98.9099 23.256 98.5979 23.312 98.3099 23.424C98.0379 23.536 97.7979 23.688 97.5899 23.88C97.3979 24.072 97.2459 24.296 97.1339 24.552C97.0219 24.808 96.9659 25.088 96.9659 25.392V33H93.1019ZM116.188 33V20.256H119.836L119.956 22.56L119.452 22.584C119.644 22.168 119.884 21.8 120.172 21.48C120.476 21.16 120.812 20.896 121.18 20.688C121.564 20.464 121.956 20.296 122.356 20.184C122.772 20.072 123.188 20.016 123.604 20.016C124.228 20.016 124.796 20.112 125.308 20.304C125.82 20.496 126.268 20.808 126.652 21.24C127.036 21.656 127.34 22.224 127.564 22.944L126.964 22.896L127.156 22.512C127.364 22.128 127.628 21.784 127.948 21.48C128.284 21.16 128.652 20.896 129.052 20.688C129.452 20.464 129.868 20.296 130.3 20.184C130.732 20.072 131.148 20.016 131.548 20.016C132.556 20.016 133.396 20.216 134.068 20.616C134.74 21 135.244 21.584 135.58 22.368C135.932 23.152 136.108 24.104 136.108 25.224V33H132.244V25.536C132.244 25.024 132.172 24.6 132.028 24.264C131.884 23.928 131.668 23.68 131.38 23.52C131.108 23.344 130.764 23.256 130.348 23.256C130.012 23.256 129.7 23.312 129.412 23.424C129.14 23.536 128.9 23.688 128.692 23.88C128.5 24.072 128.348 24.296 128.236 24.552C128.124 24.808 128.068 25.096 128.068 25.416V33H124.204V25.512C124.204 25.032 124.132 24.624 123.988 24.288C123.844 23.952 123.628 23.696 123.34 23.52C123.052 23.344 122.716 23.256 122.332 23.256C121.996 23.256 121.684 23.312 121.396 23.424C121.124 23.536 120.884 23.688 120.676 23.88C120.484 24.072 120.332 24.296 120.22 24.552C120.108 24.808 120.052 25.088 120.052 25.392V33H116.188ZM145.37 33.24C143.962 33.24 142.738 32.96 141.698 32.4C140.658 31.824 139.85 31.048 139.274 30.072C138.698 29.08 138.41 27.952 138.41 26.688C138.41 25.712 138.57 24.816 138.89 24C139.21 23.184 139.658 22.48 140.234 21.888C140.81 21.28 141.49 20.816 142.274 20.496C143.074 20.16 143.946 19.992 144.89 19.992C145.786 19.992 146.602 20.152 147.338 20.472C148.09 20.792 148.738 21.24 149.282 21.816C149.826 22.392 150.242 23.072 150.53 23.856C150.818 24.64 150.946 25.496 150.914 26.424L150.89 27.456H140.738L140.186 25.296H147.77L147.362 25.752V25.272C147.33 24.872 147.202 24.52 146.978 24.216C146.77 23.896 146.49 23.648 146.138 23.472C145.786 23.296 145.386 23.208 144.938 23.208C144.314 23.208 143.778 23.336 143.33 23.592C142.898 23.832 142.57 24.192 142.346 24.672C142.122 25.136 142.01 25.712 142.01 26.4C142.01 27.104 142.154 27.72 142.442 28.248C142.746 28.76 143.178 29.16 143.738 29.448C144.314 29.736 144.994 29.88 145.778 29.88C146.322 29.88 146.802 29.8 147.218 29.64C147.65 29.48 148.114 29.208 148.61 28.824L150.41 31.368C149.914 31.8 149.386 32.152 148.826 32.424C148.266 32.696 147.69 32.896 147.098 33.024C146.522 33.168 145.946 33.24 145.37 33.24Z\",\n fill: \"white\"\n }\n )\n ] }),\n /* @__PURE__ */ n.jsx(\"defs\", { children: /* @__PURE__ */ n.jsx(\"clipPath\", { id: \"clip0_8_5921\", children: /* @__PURE__ */ n.jsx(\"rect\", { width: \"152\", height: \"48\", fill: \"white\" }) }) })\n ] }) : /* @__PURE__ */ n.jsxs(\"svg\", { width: t, height: r, viewBox: \"0 0 152 48\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", children: [\n /* @__PURE__ */ n.jsxs(\"g\", { clipPath: \"url(#clip0_8_6077)\", children: [\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"23.4698\", cy: \"23.3296\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"39.9786\", cy: \"23.4703\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"30.667\", cy: \"27.5621\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"30.667\", cy: \"19.2378\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"16.2749\", cy: \"19.2378\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"23.4698\", cy: \"31.795\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"23.4698\", cy: \"15.0049\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"23.4698\", cy: \"6.82182\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"15.1462\", cy: \"9.07914\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"9.08012\", cy: \"15.0049\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"6.82182\", cy: \"23.3296\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"15.1462\", cy: \"37.7207\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"23.4698\", cy: \"39.9781\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"31.6534\", cy: \"37.7207\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"37.7203\", cy: \"31.795\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"9.08012\", cy: \"31.795\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"16.2749\", cy: \"27.5621\", r: \"2.82182\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"31.6534\", cy: \"9.07914\", r: \"2.82182\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"37.8619\", cy: \"15.0049\", r: \"2.82182\", fill: \"#FF6832\" }),\n /* @__PURE__ */ n.jsx(\n \"path\",\n {\n d: \"M60.112 33V16.2H63.76L72.568 28.2L71.776 28.08C71.696 27.552 71.632 27.048 71.584 26.568C71.536 26.088 71.488 25.616 71.44 25.152C71.408 24.688 71.376 24.216 71.344 23.736C71.328 23.256 71.312 22.736 71.296 22.176C71.296 21.616 71.296 21.008 71.296 20.352V16.2H75.256V33H71.56L62.368 20.616L63.592 20.784C63.672 21.552 63.736 22.208 63.784 22.752C63.848 23.28 63.896 23.752 63.928 24.168C63.976 24.584 64.008 24.96 64.024 25.296C64.04 25.632 64.048 25.968 64.048 26.304C64.064 26.624 64.072 26.984 64.072 27.384V33H60.112ZM85.1354 33.24C83.7274 33.24 82.5034 32.96 81.4634 32.4C80.4234 31.824 79.6154 31.048 79.0394 30.072C78.4634 29.08 78.1754 27.952 78.1754 26.688C78.1754 25.712 78.3354 24.816 78.6554 24C78.9754 23.184 79.4234 22.48 79.9994 21.888C80.5754 21.28 81.2554 20.816 82.0394 20.496C82.8394 20.16 83.7114 19.992 84.6554 19.992C85.5514 19.992 86.3674 20.152 87.1034 20.472C87.8554 20.792 88.5034 21.24 89.0474 21.816C89.5914 22.392 90.0074 23.072 90.2954 23.856C90.5834 24.64 90.7114 25.496 90.6794 26.424L90.6554 27.456H80.5034L79.9514 25.296H87.5354L87.1274 25.752V25.272C87.0954 24.872 86.9674 24.52 86.7434 24.216C86.5354 23.896 86.2554 23.648 85.9034 23.472C85.5514 23.296 85.1514 23.208 84.7034 23.208C84.0794 23.208 83.5434 23.336 83.0954 23.592C82.6634 23.832 82.3354 24.192 82.1114 24.672C81.8874 25.136 81.7754 25.712 81.7754 26.4C81.7754 27.104 81.9194 27.72 82.2074 28.248C82.5114 28.76 82.9434 29.16 83.5034 29.448C84.0794 29.736 84.7594 29.88 85.5434 29.88C86.0874 29.88 86.5674 29.8 86.9834 29.64C87.4154 29.48 87.8794 29.208 88.3754 28.824L90.1754 31.368C89.6794 31.8 89.1514 32.152 88.5914 32.424C88.0314 32.696 87.4554 32.896 86.8634 33.024C86.2874 33.168 85.7114 33.24 85.1354 33.24ZM93.1019 33V20.256H96.7499L96.8699 22.56L96.3659 22.584C96.5579 22.168 96.7979 21.8 97.0859 21.48C97.3899 21.16 97.7259 20.896 98.0939 20.688C98.4779 20.464 98.8699 20.296 99.2699 20.184C99.6859 20.072 100.102 20.016 100.518 20.016C101.142 20.016 101.71 20.112 102.222 20.304C102.734 20.496 103.182 20.808 103.566 21.24C103.95 21.656 104.254 22.224 104.478 22.944L103.878 22.896L104.07 22.512C104.278 22.128 104.542 21.784 104.862 21.48C105.198 21.16 105.566 20.896 105.966 20.688C106.366 20.464 106.782 20.296 107.214 20.184C107.646 20.072 108.062 20.016 108.462 20.016C109.47 20.016 110.31 20.216 110.982 20.616C111.654 21 112.158 21.584 112.494 22.368C112.846 23.152 113.022 24.104 113.022 25.224V33H109.158V25.536C109.158 25.024 109.086 24.6 108.942 24.264C108.798 23.928 108.582 23.68 108.294 23.52C108.022 23.344 107.678 23.256 107.262 23.256C106.926 23.256 106.614 23.312 106.326 23.424C106.054 23.536 105.814 23.688 105.606 23.88C105.414 24.072 105.262 24.296 105.15 24.552C105.038 24.808 104.982 25.096 104.982 25.416V33H101.118V25.512C101.118 25.032 101.046 24.624 100.902 24.288C100.758 23.952 100.542 23.696 100.254 23.52C99.9659 23.344 99.6299 23.256 99.2459 23.256C98.9099 23.256 98.5979 23.312 98.3099 23.424C98.0379 23.536 97.7979 23.688 97.5899 23.88C97.3979 24.072 97.2459 24.296 97.1339 24.552C97.0219 24.808 96.9659 25.088 96.9659 25.392V33H93.1019ZM116.188 33V20.256H119.836L119.956 22.56L119.452 22.584C119.644 22.168 119.884 21.8 120.172 21.48C120.476 21.16 120.812 20.896 121.18 20.688C121.564 20.464 121.956 20.296 122.356 20.184C122.772 20.072 123.188 20.016 123.604 20.016C124.228 20.016 124.796 20.112 125.308 20.304C125.82 20.496 126.268 20.808 126.652 21.24C127.036 21.656 127.34 22.224 127.564 22.944L126.964 22.896L127.156 22.512C127.364 22.128 127.628 21.784 127.948 21.48C128.284 21.16 128.652 20.896 129.052 20.688C129.452 20.464 129.868 20.296 130.3 20.184C130.732 20.072 131.148 20.016 131.548 20.016C132.556 20.016 133.396 20.216 134.068 20.616C134.74 21 135.244 21.584 135.58 22.368C135.932 23.152 136.108 24.104 136.108 25.224V33H132.244V25.536C132.244 25.024 132.172 24.6 132.028 24.264C131.884 23.928 131.668 23.68 131.38 23.52C131.108 23.344 130.764 23.256 130.348 23.256C130.012 23.256 129.7 23.312 129.412 23.424C129.14 23.536 128.9 23.688 128.692 23.88C128.5 24.072 128.348 24.296 128.236 24.552C128.124 24.808 128.068 25.096 128.068 25.416V33H124.204V25.512C124.204 25.032 124.132 24.624 123.988 24.288C123.844 23.952 123.628 23.696 123.34 23.52C123.052 23.344 122.716 23.256 122.332 23.256C121.996 23.256 121.684 23.312 121.396 23.424C121.124 23.536 120.884 23.688 120.676 23.88C120.484 24.072 120.332 24.296 120.22 24.552C120.108 24.808 120.052 25.088 120.052 25.392V33H116.188ZM145.37 33.24C143.962 33.24 142.738 32.96 141.698 32.4C140.658 31.824 139.85 31.048 139.274 30.072C138.698 29.08 138.41 27.952 138.41 26.688C138.41 25.712 138.57 24.816 138.89 24C139.21 23.184 139.658 22.48 140.234 21.888C140.81 21.28 141.49 20.816 142.274 20.496C143.074 20.16 143.946 19.992 144.89 19.992C145.786 19.992 146.602 20.152 147.338 20.472C148.09 20.792 148.738 21.24 149.282 21.816C149.826 22.392 150.242 23.072 150.53 23.856C150.818 24.64 150.946 25.496 150.914 26.424L150.89 27.456H140.738L140.186 25.296H147.77L147.362 25.752V25.272C147.33 24.872 147.202 24.52 146.978 24.216C146.77 23.896 146.49 23.648 146.138 23.472C145.786 23.296 145.386 23.208 144.938 23.208C144.314 23.208 143.778 23.336 143.33 23.592C142.898 23.832 142.57 24.192 142.346 24.672C142.122 25.136 142.01 25.712 142.01 26.4C142.01 27.104 142.154 27.72 142.442 28.248C142.746 28.76 143.178 29.16 143.738 29.448C144.314 29.736 144.994 29.88 145.778 29.88C146.322 29.88 146.802 29.8 147.218 29.64C147.65 29.48 148.114 29.208 148.61 28.824L150.41 31.368C149.914 31.8 149.386 32.152 148.826 32.424C148.266 32.696 147.69 32.896 147.098 33.024C146.522 33.168 145.946 33.24 145.37 33.24Z\",\n fill: \"black\"\n }\n )\n ] }),\n /* @__PURE__ */ n.jsx(\"defs\", { children: /* @__PURE__ */ n.jsx(\"clipPath\", { id: \"clip0_8_6077\", children: /* @__PURE__ */ n.jsx(\"rect\", { width: \"152\", height: \"48\", fill: \"white\" }) }) })\n ] });\n}, Oa = ({ className: e, vertical: t = !1, opaque: r = !1, opaqueAlternative: i = !1 }) => {\n const s = i ? \"bg-separator-opaque-alternative-light dark:bg-separator-opaque-alternative-dark\" : r ? \"bg-separator-opaque-light dark:bg-separator-opaque-dark\" : \"bg-separator-regular-light dark:bg-separator-regular-dark\";\n return /* @__PURE__ */ n.jsx(\n \"div\",\n {\n className: D(\n s,\n {\n \"w-full h-px\": !t,\n \"h-full w-px\": t\n },\n e\n )\n }\n );\n}, t2 = \"data:image/svg+xml,%3csvg%20width='152'%20height='48'%20viewBox='0%200%20152%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_8_5921)'%3e%3ccircle%20cx='23.4698'%20cy='23.3296'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='39.9786'%20cy='23.4703'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='30.667'%20cy='27.5621'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='30.667'%20cy='19.2378'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='16.2749'%20cy='19.2378'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='31.795'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='15.0049'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='6.82182'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='15.146'%20cy='9.07914'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='9.08012'%20cy='15.0049'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='6.82182'%20cy='23.3296'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='15.146'%20cy='37.7207'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='39.9781'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='31.6534'%20cy='37.7207'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='37.7203'%20cy='31.795'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='9.08012'%20cy='31.795'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='16.2749'%20cy='27.5621'%20r='2.82182'%20fill='%23FEBE00'/%3e%3ccircle%20cx='31.6534'%20cy='9.07914'%20r='2.82182'%20fill='%2355D4B9'/%3e%3ccircle%20cx='37.8619'%20cy='15.0049'%20r='2.82182'%20fill='%23FF6832'/%3e%3cpath%20d='M60.112%2033V16.2H63.76L72.568%2028.2L71.776%2028.08C71.696%2027.552%2071.632%2027.048%2071.584%2026.568C71.536%2026.088%2071.488%2025.616%2071.44%2025.152C71.408%2024.688%2071.376%2024.216%2071.344%2023.736C71.328%2023.256%2071.312%2022.736%2071.296%2022.176C71.296%2021.616%2071.296%2021.008%2071.296%2020.352V16.2H75.256V33H71.56L62.368%2020.616L63.592%2020.784C63.672%2021.552%2063.736%2022.208%2063.784%2022.752C63.848%2023.28%2063.896%2023.752%2063.928%2024.168C63.976%2024.584%2064.008%2024.96%2064.024%2025.296C64.04%2025.632%2064.048%2025.968%2064.048%2026.304C64.064%2026.624%2064.072%2026.984%2064.072%2027.384V33H60.112ZM85.1354%2033.24C83.7274%2033.24%2082.5034%2032.96%2081.4634%2032.4C80.4234%2031.824%2079.6154%2031.048%2079.0394%2030.072C78.4634%2029.08%2078.1754%2027.952%2078.1754%2026.688C78.1754%2025.712%2078.3354%2024.816%2078.6554%2024C78.9754%2023.184%2079.4234%2022.48%2079.9994%2021.888C80.5754%2021.28%2081.2554%2020.816%2082.0394%2020.496C82.8394%2020.16%2083.7114%2019.992%2084.6554%2019.992C85.5514%2019.992%2086.3674%2020.152%2087.1034%2020.472C87.8554%2020.792%2088.5034%2021.24%2089.0474%2021.816C89.5914%2022.392%2090.0074%2023.072%2090.2954%2023.856C90.5834%2024.64%2090.7114%2025.496%2090.6794%2026.424L90.6554%2027.456H80.5034L79.9514%2025.296H87.5354L87.1274%2025.752V25.272C87.0954%2024.872%2086.9674%2024.52%2086.7434%2024.216C86.5354%2023.896%2086.2554%2023.648%2085.9034%2023.472C85.5514%2023.296%2085.1514%2023.208%2084.7034%2023.208C84.0794%2023.208%2083.5434%2023.336%2083.0954%2023.592C82.6634%2023.832%2082.3354%2024.192%2082.1114%2024.672C81.8874%2025.136%2081.7754%2025.712%2081.7754%2026.4C81.7754%2027.104%2081.9194%2027.72%2082.2074%2028.248C82.5114%2028.76%2082.9434%2029.16%2083.5034%2029.448C84.0794%2029.736%2084.7594%2029.88%2085.5434%2029.88C86.0874%2029.88%2086.5674%2029.8%2086.9834%2029.64C87.4154%2029.48%2087.8794%2029.208%2088.3754%2028.824L90.1754%2031.368C89.6794%2031.8%2089.1514%2032.152%2088.5914%2032.424C88.0314%2032.696%2087.4554%2032.896%2086.8634%2033.024C86.2874%2033.168%2085.7114%2033.24%2085.1354%2033.24ZM93.1019%2033V20.256H96.7499L96.8699%2022.56L96.3659%2022.584C96.5579%2022.168%2096.7979%2021.8%2097.0859%2021.48C97.3899%2021.16%2097.7259%2020.896%2098.0939%2020.688C98.4779%2020.464%2098.8699%2020.296%2099.2699%2020.184C99.6859%2020.072%20100.102%2020.016%20100.518%2020.016C101.142%2020.016%20101.71%2020.112%20102.222%2020.304C102.734%2020.496%20103.182%2020.808%20103.566%2021.24C103.95%2021.656%20104.254%2022.224%20104.478%2022.944L103.878%2022.896L104.07%2022.512C104.278%2022.128%20104.542%2021.784%20104.862%2021.48C105.198%2021.16%20105.566%2020.896%20105.966%2020.688C106.366%2020.464%20106.782%2020.296%20107.214%2020.184C107.646%2020.072%20108.062%2020.016%20108.462%2020.016C109.47%2020.016%20110.31%2020.216%20110.982%2020.616C111.654%2021%20112.158%2021.584%20112.494%2022.368C112.846%2023.152%20113.022%2024.104%20113.022%2025.224V33H109.158V25.536C109.158%2025.024%20109.086%2024.6%20108.942%2024.264C108.798%2023.928%20108.582%2023.68%20108.294%2023.52C108.022%2023.344%20107.678%2023.256%20107.262%2023.256C106.926%2023.256%20106.614%2023.312%20106.326%2023.424C106.054%2023.536%20105.814%2023.688%20105.606%2023.88C105.414%2024.072%20105.262%2024.296%20105.15%2024.552C105.038%2024.808%20104.982%2025.096%20104.982%2025.416V33H101.118V25.512C101.118%2025.032%20101.046%2024.624%20100.902%2024.288C100.758%2023.952%20100.542%2023.696%20100.254%2023.52C99.9659%2023.344%2099.6299%2023.256%2099.2459%2023.256C98.9099%2023.256%2098.5979%2023.312%2098.3099%2023.424C98.0379%2023.536%2097.7979%2023.688%2097.5899%2023.88C97.3979%2024.072%2097.2459%2024.296%2097.1339%2024.552C97.0219%2024.808%2096.9659%2025.088%2096.9659%2025.392V33H93.1019ZM116.188%2033V20.256H119.836L119.956%2022.56L119.452%2022.584C119.644%2022.168%20119.884%2021.8%20120.172%2021.48C120.476%2021.16%20120.812%2020.896%20121.18%2020.688C121.564%2020.464%20121.956%2020.296%20122.356%2020.184C122.772%2020.072%20123.188%2020.016%20123.604%2020.016C124.228%2020.016%20124.796%2020.112%20125.308%2020.304C125.82%2020.496%20126.268%2020.808%20126.652%2021.24C127.036%2021.656%20127.34%2022.224%20127.564%2022.944L126.964%2022.896L127.156%2022.512C127.364%2022.128%20127.628%2021.784%20127.948%2021.48C128.284%2021.16%20128.652%2020.896%20129.052%2020.688C129.452%2020.464%20129.868%2020.296%20130.3%2020.184C130.732%2020.072%20131.148%2020.016%20131.548%2020.016C132.556%2020.016%20133.396%2020.216%20134.068%2020.616C134.74%2021%20135.244%2021.584%20135.58%2022.368C135.932%2023.152%20136.108%2024.104%20136.108%2025.224V33H132.244V25.536C132.244%2025.024%20132.172%2024.6%20132.028%2024.264C131.884%2023.928%20131.668%2023.68%20131.38%2023.52C131.108%2023.344%20130.764%2023.256%20130.348%2023.256C130.012%2023.256%20129.7%2023.312%20129.412%2023.424C129.14%2023.536%20128.9%2023.688%20128.692%2023.88C128.5%2024.072%20128.348%2024.296%20128.236%2024.552C128.124%2024.808%20128.068%2025.096%20128.068%2025.416V33H124.204V25.512C124.204%2025.032%20124.132%2024.624%20123.988%2024.288C123.844%2023.952%20123.628%2023.696%20123.34%2023.52C123.052%2023.344%20122.716%2023.256%20122.332%2023.256C121.996%2023.256%20121.684%2023.312%20121.396%2023.424C121.124%2023.536%20120.884%2023.688%20120.676%2023.88C120.484%2024.072%20120.332%2024.296%20120.22%2024.552C120.108%2024.808%20120.052%2025.088%20120.052%2025.392V33H116.188ZM145.37%2033.24C143.962%2033.24%20142.738%2032.96%20141.698%2032.4C140.658%2031.824%20139.85%2031.048%20139.274%2030.072C138.698%2029.08%20138.41%2027.952%20138.41%2026.688C138.41%2025.712%20138.57%2024.816%20138.89%2024C139.21%2023.184%20139.658%2022.48%20140.234%2021.888C140.81%2021.28%20141.49%2020.816%20142.274%2020.496C143.074%2020.16%20143.946%2019.992%20144.89%2019.992C145.786%2019.992%20146.602%2020.152%20147.338%2020.472C148.09%2020.792%20148.738%2021.24%20149.282%2021.816C149.826%2022.392%20150.242%2023.072%20150.53%2023.856C150.818%2024.64%20150.946%2025.496%20150.914%2026.424L150.89%2027.456H140.738L140.186%2025.296H147.77L147.362%2025.752V25.272C147.33%2024.872%20147.202%2024.52%20146.978%2024.216C146.77%2023.896%20146.49%2023.648%20146.138%2023.472C145.786%2023.296%20145.386%2023.208%20144.938%2023.208C144.314%2023.208%20143.778%2023.336%20143.33%2023.592C142.898%2023.832%20142.57%2024.192%20142.346%2024.672C142.122%2025.136%20142.01%2025.712%20142.01%2026.4C142.01%2027.104%20142.154%2027.72%20142.442%2028.248C142.746%2028.76%20143.178%2029.16%20143.738%2029.448C144.314%2029.736%20144.994%2029.88%20145.778%2029.88C146.322%2029.88%20146.802%2029.8%20147.218%2029.64C147.65%2029.48%20148.114%2029.208%20148.61%2028.824L150.41%2031.368C149.914%2031.8%20149.386%2032.152%20148.826%2032.424C148.266%2032.696%20147.69%2032.896%20147.098%2033.024C146.522%2033.168%20145.946%2033.24%20145.37%2033.24Z'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_8_5921'%3e%3crect%20width='152'%20height='48'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", r2 = \"data:image/svg+xml,%3csvg%20width='413'%20height='413'%20viewBox='0%200%20413%20413'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1096_247)'%3e%3ccircle%20cx='207'%20cy='206'%20r='20'%20fill='white'/%3e%3ccircle%20cx='324'%20cy='207'%20r='20'%20fill='white'/%3e%3ccircle%20cx='258'%20cy='236'%20r='20'%20fill='white'/%3e%3ccircle%20cx='258'%20cy='177'%20r='20'%20fill='white'/%3e%3ccircle%20cx='156'%20cy='177'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='266'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='147'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='89'%20r='20'%20fill='white'/%3e%3ccircle%20cx='148'%20cy='105'%20r='20'%20fill='white'/%3e%3ccircle%20cx='105'%20cy='147'%20r='20'%20fill='white'/%3e%3ccircle%20cx='89'%20cy='206'%20r='20'%20fill='white'/%3e%3ccircle%20cx='148'%20cy='308'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='324'%20r='20'%20fill='white'/%3e%3ccircle%20cx='265'%20cy='308'%20r='20'%20fill='white'/%3e%3ccircle%20cx='308'%20cy='266'%20r='20'%20fill='white'/%3e%3ccircle%20cx='105'%20cy='266'%20r='20'%20fill='white'/%3e%3ccircle%20cx='156'%20cy='236'%20r='20'%20fill='%23FEBE00'/%3e%3ccircle%20cx='265'%20cy='105'%20r='20'%20fill='%2355D4B9'/%3e%3ccircle%20cx='309'%20cy='147'%20r='20'%20fill='%23FF6832'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1096_247'%3e%3crect%20width='275'%20height='275'%20fill='white'%20transform='translate(69%2069)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", a2 = \"data:image/svg+xml,%3csvg%20width='152'%20height='48'%20viewBox='0%200%20152%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_8_6077)'%3e%3ccircle%20cx='23.4698'%20cy='23.3296'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='39.9786'%20cy='23.4703'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='30.667'%20cy='27.5621'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='30.667'%20cy='19.2378'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='16.2749'%20cy='19.2378'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='31.795'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='15.0049'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='6.82182'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='15.1462'%20cy='9.07914'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='9.08012'%20cy='15.0049'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='6.82182'%20cy='23.3296'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='15.1462'%20cy='37.7207'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='39.9781'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='31.6534'%20cy='37.7207'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='37.7203'%20cy='31.795'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='9.08012'%20cy='31.795'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='16.2749'%20cy='27.5621'%20r='2.82182'%20fill='%23FEBE00'/%3e%3ccircle%20cx='31.6534'%20cy='9.07914'%20r='2.82182'%20fill='%2355D4B9'/%3e%3ccircle%20cx='37.8619'%20cy='15.0049'%20r='2.82182'%20fill='%23FF6832'/%3e%3cpath%20d='M60.112%2033V16.2H63.76L72.568%2028.2L71.776%2028.08C71.696%2027.552%2071.632%2027.048%2071.584%2026.568C71.536%2026.088%2071.488%2025.616%2071.44%2025.152C71.408%2024.688%2071.376%2024.216%2071.344%2023.736C71.328%2023.256%2071.312%2022.736%2071.296%2022.176C71.296%2021.616%2071.296%2021.008%2071.296%2020.352V16.2H75.256V33H71.56L62.368%2020.616L63.592%2020.784C63.672%2021.552%2063.736%2022.208%2063.784%2022.752C63.848%2023.28%2063.896%2023.752%2063.928%2024.168C63.976%2024.584%2064.008%2024.96%2064.024%2025.296C64.04%2025.632%2064.048%2025.968%2064.048%2026.304C64.064%2026.624%2064.072%2026.984%2064.072%2027.384V33H60.112ZM85.1354%2033.24C83.7274%2033.24%2082.5034%2032.96%2081.4634%2032.4C80.4234%2031.824%2079.6154%2031.048%2079.0394%2030.072C78.4634%2029.08%2078.1754%2027.952%2078.1754%2026.688C78.1754%2025.712%2078.3354%2024.816%2078.6554%2024C78.9754%2023.184%2079.4234%2022.48%2079.9994%2021.888C80.5754%2021.28%2081.2554%2020.816%2082.0394%2020.496C82.8394%2020.16%2083.7114%2019.992%2084.6554%2019.992C85.5514%2019.992%2086.3674%2020.152%2087.1034%2020.472C87.8554%2020.792%2088.5034%2021.24%2089.0474%2021.816C89.5914%2022.392%2090.0074%2023.072%2090.2954%2023.856C90.5834%2024.64%2090.7114%2025.496%2090.6794%2026.424L90.6554%2027.456H80.5034L79.9514%2025.296H87.5354L87.1274%2025.752V25.272C87.0954%2024.872%2086.9674%2024.52%2086.7434%2024.216C86.5354%2023.896%2086.2554%2023.648%2085.9034%2023.472C85.5514%2023.296%2085.1514%2023.208%2084.7034%2023.208C84.0794%2023.208%2083.5434%2023.336%2083.0954%2023.592C82.6634%2023.832%2082.3354%2024.192%2082.1114%2024.672C81.8874%2025.136%2081.7754%2025.712%2081.7754%2026.4C81.7754%2027.104%2081.9194%2027.72%2082.2074%2028.248C82.5114%2028.76%2082.9434%2029.16%2083.5034%2029.448C84.0794%2029.736%2084.7594%2029.88%2085.5434%2029.88C86.0874%2029.88%2086.5674%2029.8%2086.9834%2029.64C87.4154%2029.48%2087.8794%2029.208%2088.3754%2028.824L90.1754%2031.368C89.6794%2031.8%2089.1514%2032.152%2088.5914%2032.424C88.0314%2032.696%2087.4554%2032.896%2086.8634%2033.024C86.2874%2033.168%2085.7114%2033.24%2085.1354%2033.24ZM93.1019%2033V20.256H96.7499L96.8699%2022.56L96.3659%2022.584C96.5579%2022.168%2096.7979%2021.8%2097.0859%2021.48C97.3899%2021.16%2097.7259%2020.896%2098.0939%2020.688C98.4779%2020.464%2098.8699%2020.296%2099.2699%2020.184C99.6859%2020.072%20100.102%2020.016%20100.518%2020.016C101.142%2020.016%20101.71%2020.112%20102.222%2020.304C102.734%2020.496%20103.182%2020.808%20103.566%2021.24C103.95%2021.656%20104.254%2022.224%20104.478%2022.944L103.878%2022.896L104.07%2022.512C104.278%2022.128%20104.542%2021.784%20104.862%2021.48C105.198%2021.16%20105.566%2020.896%20105.966%2020.688C106.366%2020.464%20106.782%2020.296%20107.214%2020.184C107.646%2020.072%20108.062%2020.016%20108.462%2020.016C109.47%2020.016%20110.31%2020.216%20110.982%2020.616C111.654%2021%20112.158%2021.584%20112.494%2022.368C112.846%2023.152%20113.022%2024.104%20113.022%2025.224V33H109.158V25.536C109.158%2025.024%20109.086%2024.6%20108.942%2024.264C108.798%2023.928%20108.582%2023.68%20108.294%2023.52C108.022%2023.344%20107.678%2023.256%20107.262%2023.256C106.926%2023.256%20106.614%2023.312%20106.326%2023.424C106.054%2023.536%20105.814%2023.688%20105.606%2023.88C105.414%2024.072%20105.262%2024.296%20105.15%2024.552C105.038%2024.808%20104.982%2025.096%20104.982%2025.416V33H101.118V25.512C101.118%2025.032%20101.046%2024.624%20100.902%2024.288C100.758%2023.952%20100.542%2023.696%20100.254%2023.52C99.9659%2023.344%2099.6299%2023.256%2099.2459%2023.256C98.9099%2023.256%2098.5979%2023.312%2098.3099%2023.424C98.0379%2023.536%2097.7979%2023.688%2097.5899%2023.88C97.3979%2024.072%2097.2459%2024.296%2097.1339%2024.552C97.0219%2024.808%2096.9659%2025.088%2096.9659%2025.392V33H93.1019ZM116.188%2033V20.256H119.836L119.956%2022.56L119.452%2022.584C119.644%2022.168%20119.884%2021.8%20120.172%2021.48C120.476%2021.16%20120.812%2020.896%20121.18%2020.688C121.564%2020.464%20121.956%2020.296%20122.356%2020.184C122.772%2020.072%20123.188%2020.016%20123.604%2020.016C124.228%2020.016%20124.796%2020.112%20125.308%2020.304C125.82%2020.496%20126.268%2020.808%20126.652%2021.24C127.036%2021.656%20127.34%2022.224%20127.564%2022.944L126.964%2022.896L127.156%2022.512C127.364%2022.128%20127.628%2021.784%20127.948%2021.48C128.284%2021.16%20128.652%2020.896%20129.052%2020.688C129.452%2020.464%20129.868%2020.296%20130.3%2020.184C130.732%2020.072%20131.148%2020.016%20131.548%2020.016C132.556%2020.016%20133.396%2020.216%20134.068%2020.616C134.74%2021%20135.244%2021.584%20135.58%2022.368C135.932%2023.152%20136.108%2024.104%20136.108%2025.224V33H132.244V25.536C132.244%2025.024%20132.172%2024.6%20132.028%2024.264C131.884%2023.928%20131.668%2023.68%20131.38%2023.52C131.108%2023.344%20130.764%2023.256%20130.348%2023.256C130.012%2023.256%20129.7%2023.312%20129.412%2023.424C129.14%2023.536%20128.9%2023.688%20128.692%2023.88C128.5%2024.072%20128.348%2024.296%20128.236%2024.552C128.124%2024.808%20128.068%2025.096%20128.068%2025.416V33H124.204V25.512C124.204%2025.032%20124.132%2024.624%20123.988%2024.288C123.844%2023.952%20123.628%2023.696%20123.34%2023.52C123.052%2023.344%20122.716%2023.256%20122.332%2023.256C121.996%2023.256%20121.684%2023.312%20121.396%2023.424C121.124%2023.536%20120.884%2023.688%20120.676%2023.88C120.484%2024.072%20120.332%2024.296%20120.22%2024.552C120.108%2024.808%20120.052%2025.088%20120.052%2025.392V33H116.188ZM145.37%2033.24C143.962%2033.24%20142.738%2032.96%20141.698%2032.4C140.658%2031.824%20139.85%2031.048%20139.274%2030.072C138.698%2029.08%20138.41%2027.952%20138.41%2026.688C138.41%2025.712%20138.57%2024.816%20138.89%2024C139.21%2023.184%20139.658%2022.48%20140.234%2021.888C140.81%2021.28%20141.49%2020.816%20142.274%2020.496C143.074%2020.16%20143.946%2019.992%20144.89%2019.992C145.786%2019.992%20146.602%2020.152%20147.338%2020.472C148.09%2020.792%20148.738%2021.24%20149.282%2021.816C149.826%2022.392%20150.242%2023.072%20150.53%2023.856C150.818%2024.64%20150.946%2025.496%20150.914%2026.424L150.89%2027.456H140.738L140.186%2025.296H147.77L147.362%2025.752V25.272C147.33%2024.872%20147.202%2024.52%20146.978%2024.216C146.77%2023.896%20146.49%2023.648%20146.138%2023.472C145.786%2023.296%20145.386%2023.208%20144.938%2023.208C144.314%2023.208%20143.778%2023.336%20143.33%2023.592C142.898%2023.832%20142.57%2024.192%20142.346%2024.672C142.122%2025.136%20142.01%2025.712%20142.01%2026.4C142.01%2027.104%20142.154%2027.72%20142.442%2028.248C142.746%2028.76%20143.178%2029.16%20143.738%2029.448C144.314%2029.736%20144.994%2029.88%20145.778%2029.88C146.322%2029.88%20146.802%2029.8%20147.218%2029.64C147.65%2029.48%20148.114%2029.208%20148.61%2028.824L150.41%2031.368C149.914%2031.8%20149.386%2032.152%20148.826%2032.424C148.266%2032.696%20147.69%2032.896%20147.098%2033.024C146.522%2033.168%20145.946%2033.24%20145.37%2033.24Z'%20fill='black'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_8_6077'%3e%3crect%20width='152'%20height='48'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", n2 = \"data:image/svg+xml,%3csvg%20width='413'%20height='413'%20viewBox='0%200%20413%20413'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1096_218)'%3e%3ccircle%20cx='207'%20cy='206'%20r='20'%20fill='black'/%3e%3ccircle%20cx='324'%20cy='207'%20r='20'%20fill='black'/%3e%3ccircle%20cx='258'%20cy='236'%20r='20'%20fill='black'/%3e%3ccircle%20cx='258'%20cy='177'%20r='20'%20fill='black'/%3e%3ccircle%20cx='156'%20cy='177'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='266'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='147'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='89'%20r='20'%20fill='black'/%3e%3ccircle%20cx='148'%20cy='105'%20r='20'%20fill='black'/%3e%3ccircle%20cx='105'%20cy='147'%20r='20'%20fill='black'/%3e%3ccircle%20cx='89'%20cy='206'%20r='20'%20fill='black'/%3e%3ccircle%20cx='148'%20cy='308'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='324'%20r='20'%20fill='black'/%3e%3ccircle%20cx='265'%20cy='308'%20r='20'%20fill='black'/%3e%3ccircle%20cx='308'%20cy='266'%20r='20'%20fill='black'/%3e%3ccircle%20cx='105'%20cy='266'%20r='20'%20fill='black'/%3e%3ccircle%20cx='156'%20cy='236'%20r='20'%20fill='%23FEBE00'/%3e%3ccircle%20cx='265'%20cy='105'%20r='20'%20fill='%2355D4B9'/%3e%3ccircle%20cx='309'%20cy='147'%20r='20'%20fill='%23FF6832'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1096_218'%3e%3crect%20width='275'%20height='275'%20fill='white'%20transform='translate(69%2069)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", l = {\n transparent: \"#00000000\",\n grey: {\n 0: \"#FFFFFF\",\n 5: \"#FBFBFD\",\n 10: \"#F2F2F7\",\n 50: \"#E5E5EA\",\n 75: \"#DEDEE1\",\n 100: \"#D1D1D6\",\n 200: \"#C7C7CC\",\n 300: \"#AEAEB2\",\n 400: \"#8E8E93\",\n 500: \"#636366\",\n 600: \"#48484A\",\n 700: \"#3A3A3C\",\n 800: \"#2C2C2E\",\n 900: \"#242426\",\n 950: \"#1C1C1E\",\n 990: \"#101011\",\n 995: \"#090909\",\n 1e3: \"#000000\"\n },\n \"strong-blue\": {\n 50: \"#A8C7FA\",\n 100: \"#6598EC\",\n 300: \"#1C73E8\",\n 400: \"#3461DA\",\n 500: \"#325FCB\",\n 600: \"#2C4DB9\",\n 950: \"#001833\"\n },\n \"banana-yellow\": {\n 50: \"#FEE085\",\n 100: \"#FECB33\",\n 400: \"#FEBE00\"\n },\n \"bright-coral\": {\n 50: \"#FFD2C1\",\n 100: \"#FF865B\",\n 400: \"#FF6832\"\n },\n \"minty-blue\": {\n 50: \"#99E5D5\",\n 100: \"#77DDC7\",\n 400: \"#55D4B9\"\n },\n red: {\n 10: \"#FEF1F2\",\n 75: \"#FF8680\",\n 100: \"#FF6861\",\n 300: \"#FF453A\",\n 400: \"#FF3B2F\",\n 600: \"#D70015\",\n 800: \"#A10010\"\n },\n orange: {\n 100: \"#FFB33F\",\n 300: \"#FF9F0B\",\n 400: \"#FF9500\",\n 600: \"#C93400\"\n },\n yellow: {\n 10: \"#FFF8EB\",\n 75: \"#FFE372\",\n 100: \"#FFD426\",\n 300: \"#FED709\",\n 400: \"#FFCC02\",\n 600: \"#B25001\",\n 800: \"#873C00\"\n },\n green: {\n 10: \"#EDFDF8\",\n 75: \"#7AF299\",\n 100: \"#30DB5B\",\n 300: \"#31D158\",\n 400: \"#35C759\",\n 600: \"#248A3D\",\n 800: \"#0D5C20\"\n },\n mint: {\n 100: \"#66D5CF\",\n 300: \"#67D3CF\",\n 400: \"#04C7BE\",\n 600: \"#0D817C\"\n },\n teal: {\n 100: \"#5DE6FF\",\n 300: \"#40C8E0\",\n 400: \"#30B0C7\",\n 600: \"#008299\"\n },\n cyan: {\n 100: \"#70D7FF\",\n 300: \"#64D3FF\",\n 400: \"#31ADE6\",\n 600: \"#0171A4\"\n },\n blue: {\n 100: \"#419CFF\",\n 300: \"#0B84FF\",\n 400: \"#007AFF\",\n 600: \"#0040DD\"\n },\n indigo: {\n 100: \"#7E7AFF\",\n 300: \"#5E5CE6\",\n 400: \"#5856D7\",\n 600: \"#3634A3\"\n },\n purple: {\n 100: \"#DA8FFF\",\n 300: \"#BF5AF2\",\n 400: \"#AF52DE\",\n 600: \"#8944AB\"\n },\n pink: {\n 100: \"#FF6482\",\n 300: \"#FF375F\",\n 400: \"#FF2C55\",\n 600: \"#D20F44\"\n },\n brown: {\n 100: \"#B59469\",\n 300: \"#AC8E68\",\n 400: \"#A2845E\",\n 600: \"#7F6545\"\n }\n}, l2 = {\n background: {\n primary: {\n light: l.grey[5],\n dark: l.grey[990]\n },\n secondary: {\n light: l.grey[10],\n dark: l.grey[950]\n },\n tertiary: {\n light: l.grey[50],\n dark: l.grey[900]\n },\n \"grouped-primary\": {\n light: l.grey[50],\n dark: l.grey[990]\n },\n \"grouped-secondary\": {\n light: l.grey[5],\n dark: l.grey[950]\n },\n \"grouped-tertiary\": {\n light: l.grey[10],\n dark: l.grey[900]\n },\n \"primary-hover\": {\n light: l.grey[10],\n dark: l.grey[900]\n },\n \"secondary-hover\": {\n light: l.grey[50],\n dark: l.grey[900]\n },\n \"tertiary-hover\": {\n light: l.grey[100],\n dark: l.grey[800]\n },\n \"universal-overlay\": {\n light: l.grey[1e3].concat(\"12\"),\n // 7% opacity\n dark: l.grey[0].concat(\"0F\")\n // 6% opacity\n }\n },\n overlay: {\n \"fill-default\": {\n light: l.grey[1e3].concat(\"12\"),\n // 7% opacity\n dark: l.grey[0].concat(\"0F\")\n // 6% opacity\n },\n \"fill-alternative\": {\n light: l.grey[1e3].concat(\"24\"),\n // 14% opacity\n dark: l.grey[0].concat(\"24\")\n // 14% opacity\n },\n \"background-default\": {\n light: l.grey[1e3].concat(\"33\"),\n // 20% opacity\n dark: l.grey[1e3].concat(\"80\")\n // 50% opacity\n }\n },\n label: {\n primary: {\n light: l.grey[1e3],\n dark: l.grey[0]\n },\n secondary: {\n light: l.grey[500],\n dark: l.grey[400]\n },\n tertiary: {\n light: l.grey[400],\n dark: l.grey[500]\n },\n placeholder: {\n light: l.grey[400],\n dark: l.grey[400]\n },\n quaternary: {\n light: l.grey[0],\n dark: l.grey[1e3]\n },\n disabled: {\n light: l.grey[100],\n dark: l.grey[700]\n }\n },\n \"primary-action\": {\n graphical: {\n light: l[\"strong-blue\"][600],\n dark: l[\"strong-blue\"][300]\n },\n button: {\n light: l[\"strong-blue\"][400],\n dark: l[\"strong-blue\"][500]\n },\n \"button-hover\": {\n light: l[\"strong-blue\"][600],\n dark: l[\"strong-blue\"][600]\n },\n background: {\n light: l[\"strong-blue\"][50],\n dark: l[\"strong-blue\"][950]\n },\n \"background-2\": {\n light: l[\"strong-blue\"][950],\n dark: l[\"strong-blue\"][50]\n },\n disabled: {\n light: l.grey[100],\n dark: l.grey[700]\n }\n },\n \"secondary-action\": {\n base: {\n light: l.grey[1e3],\n dark: l.grey[0]\n },\n complementary: {\n light: l.grey[0],\n dark: l.grey[1e3]\n },\n alternative: {\n light: l.grey[1e3].concat(\"24\"),\n // HEX 24 = 14% opacity\n dark: l.grey[0].concat(\"24\")\n // HEX 24 = 14% opacity\n },\n disabled: {\n light: l.grey[100],\n dark: l.grey[700]\n }\n },\n \"brand-yellow\": {\n default: {\n light: l[\"banana-yellow\"][400],\n dark: l[\"banana-yellow\"][400]\n },\n alternative: {\n light: l[\"banana-yellow\"][100],\n dark: l[\"banana-yellow\"][100]\n },\n light: {\n light: l[\"banana-yellow\"][50],\n dark: l[\"banana-yellow\"][50]\n }\n },\n \"brand-coral\": {\n default: {\n light: l[\"bright-coral\"][400],\n dark: l[\"bright-coral\"][400]\n },\n alternative: {\n light: l[\"bright-coral\"][100],\n dark: l[\"bright-coral\"][100]\n },\n light: {\n light: l[\"bright-coral\"][50],\n dark: l[\"bright-coral\"][50]\n }\n },\n \"brand-mint\": {\n default: {\n light: l[\"minty-blue\"][400],\n dark: l[\"minty-blue\"][400]\n },\n alternative: {\n light: l[\"minty-blue\"][100],\n dark: l[\"minty-blue\"][100]\n },\n light: {\n light: l[\"minty-blue\"][50],\n dark: l[\"minty-blue\"][50]\n }\n },\n separator: {\n regular: {\n light: l.grey[300],\n dark: l.grey[600]\n },\n opaque: {\n light: l.grey[50],\n dark: l.grey[900]\n },\n \"opaque-alternative\": {\n light: l.grey[100],\n dark: l.grey[800]\n }\n },\n \"system-fill\": {\n primary: {\n light: l.grey[100],\n dark: l.grey[700]\n },\n secondary: {\n light: l.grey[10],\n dark: l.grey[900]\n },\n tertiary: {\n light: l.grey[5],\n dark: l.grey[990]\n }\n },\n \"nonadaptable-text\": {\n light: l.grey[0],\n dark: l.grey[1e3]\n },\n success: {\n background: {\n light: l.green[10],\n dark: l.green[800]\n },\n default: {\n light: l.green[400],\n dark: l.green[300]\n },\n hover: {\n light: l.green[600],\n dark: l.green[75]\n },\n accessible: {\n light: l.green[800],\n dark: l.green[10]\n }\n },\n warning: {\n background: {\n light: l.yellow[10],\n dark: l.yellow[800]\n },\n default: {\n light: l.yellow[400],\n dark: l.yellow[300]\n },\n hover: {\n light: l.yellow[600],\n dark: l.yellow[75]\n },\n accessible: {\n light: l.yellow[800],\n dark: l.yellow[10]\n }\n },\n danger: {\n background: {\n light: l.red[10],\n dark: l.red[800]\n },\n default: {\n light: l.red[400],\n dark: l.red[300]\n },\n hover: {\n light: l.red[600],\n dark: l.red[75]\n },\n accessible: {\n light: l.red[800],\n dark: l.red[10]\n }\n },\n \"system-neutral\": {\n \"grey-0\": {\n light: l.grey[0],\n dark: l.grey[1e3]\n },\n \"grey-1\": {\n light: l.grey[10],\n dark: l.grey[950]\n },\n \"grey-2\": {\n light: l.grey[100],\n dark: l.grey[900]\n },\n \"grey-3\": {\n light: l.grey[300],\n dark: l.grey[800]\n },\n \"grey-4\": {\n light: l.grey[400],\n dark: l.grey[700]\n },\n \"grey-5\": {\n light: l.grey[600],\n dark: l.grey[600]\n },\n \"grey-6\": {\n light: l.grey[700],\n dark: l.grey[400]\n },\n \"grey-7\": {\n light: l.grey[800],\n dark: l.grey[300]\n },\n \"grey-8\": {\n light: l.grey[900],\n dark: l.grey[100]\n },\n \"grey-9\": {\n light: l.grey[950],\n dark: l.grey[10]\n },\n \"grey-10\": {\n light: l.grey[1e3],\n dark: l.grey[0]\n }\n },\n red: {\n default: {\n light: l.red[400],\n dark: l.red[300]\n },\n accessible: {\n light: l.red[600],\n dark: l.red[100]\n }\n },\n orange: {\n default: {\n light: l.orange[400],\n dark: l.orange[300]\n },\n accessible: {\n light: l.orange[600],\n dark: l.orange[100]\n }\n },\n yellow: {\n default: {\n light: l.yellow[400],\n dark: l.yellow[300]\n },\n accessible: {\n light: l.yellow[600],\n dark: l.yellow[100]\n }\n },\n green: {\n default: {\n light: l.green[400],\n dark: l.green[300]\n },\n accessible: {\n light: l.green[600],\n dark: l.green[100]\n }\n },\n mint: {\n default: {\n light: l.mint[400],\n dark: l.mint[300]\n },\n accessible: {\n light: l.mint[600],\n dark: l.mint[100]\n }\n },\n teal: {\n default: {\n light: l.teal[400],\n dark: l.teal[300]\n },\n accessible: {\n light: l.teal[600],\n dark: l.teal[100]\n }\n },\n cyan: {\n default: {\n light: l.cyan[400],\n dark: l.cyan[300]\n },\n accessible: {\n light: l.cyan[600],\n dark: l.cyan[100]\n }\n },\n blue: {\n default: {\n light: l.blue[400],\n dark: l.blue[300]\n },\n accessible: {\n light: l.blue[600],\n dark: l.blue[100]\n }\n },\n indigo: {\n default: {\n light: l.indigo[400],\n dark: l.indigo[300]\n },\n accessible: {\n light: l.indigo[600],\n dark: l.indigo[100]\n }\n },\n purple: {\n default: {\n light: l.purple[400],\n dark: l.purple[300]\n },\n accessible: {\n light: l.purple[600],\n dark: l.purple[100]\n }\n },\n pink: {\n default: {\n light: l.pink[400],\n dark: l.pink[300]\n },\n accessible: {\n light: l.pink[600],\n dark: l.pink[100]\n }\n },\n brown: {\n default: {\n light: l.brown[400],\n dark: l.brown[300]\n },\n accessible: {\n light: l.brown[600],\n dark: l.brown[100]\n }\n }\n}, i2 = () => {\n}, o2 = (e, t) => [...Array(t + 1 - e)].map((r, i) => i + e), s2 = (e) => e.charAt(0).toUpperCase() + e.slice(1), c2 = (e) => e.split(new RegExp(\"(?<=\\\\.) \"));\nfunction Ue({\n isActive: e,\n onDismiss: t,\n includeEscape: r = !0,\n extraRefs: i = []\n}) {\n const s = Pe(null);\n return Se(() => {\n if (!e) return;\n const g = (c) => [s, ...i].some((k) => k.current && k.current.contains(c)), o = (c) => {\n const m = c.target;\n m && (g(m) || (c.stopPropagation(), c.preventDefault(), c.stopImmediatePropagation(), t()));\n }, b = (c) => {\n r && c.key === \"Escape\" && t();\n };\n return document.addEventListener(\"mousedown\", o), document.addEventListener(\"touchstart\", o, { passive: !0 }), document.addEventListener(\"keydown\", b), () => {\n document.removeEventListener(\"mousedown\", o), document.removeEventListener(\"touchstart\", o), document.removeEventListener(\"keydown\", b);\n };\n }, [e, r, t, i]), { ref: s };\n}\nexport {\n ht as Button,\n Ma as CText,\n Ka as CodeBlock,\n Ha as Dropdown,\n Xa as FullScreenModal,\n Ja as InfoBox,\n za as InplaceInput,\n Qa as Loader,\n Ia as Logo,\n e2 as LogoText,\n Ua as MCText,\n Ya as MenuGroupModal,\n z as NText,\n it as NavPill,\n dr as NavTab,\n Va as Search,\n Ga as Select,\n Oa as Separator,\n $a as SignalButton,\n qa as TextInput,\n Za as Toggle,\n Wa as TwoLevelSelector,\n s2 as capitalize,\n l as colors,\n D as cx,\n i2 as includeGlobalStyles,\n r2 as nemmeDark,\n t2 as nemmeDarkText,\n n2 as nemmeLight,\n a2 as nemmeLightText,\n o2 as range,\n l2 as semanticColors,\n c2 as splitDotSpaceKeepDot,\n Ue as useDismissable,\n ye as variantToClassName\n};\n//# sourceMappingURL=index.es.js.map\n","import { Button, cx, NText } from '@nemme/ui-kit';\nimport { CaretLeftIcon, CaretRightIcon, XIcon } from '@phosphor-icons/react';\nimport { FC, ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\n\ntype Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n children: ReactNode;\n onPrevious?: () => void;\n onNext?: () => void;\n onQuit?: () => void;\n isValid?: boolean;\n hasPreviousStep: boolean;\n hasNextStep: boolean;\n};\nexport const QuestionWrapper: FC<Props> = ({\n title,\n icon,\n description,\n image,\n children,\n onPrevious,\n onNext,\n onQuit,\n isValid,\n hasPreviousStep,\n hasNextStep\n}) => {\n const { t } = useTranslation();\n return (\n <div\n className={cx(\n 'grid mx-4 my-8 rounded-xl border relative',\n 'grid-cols-1 p-4 pt-10',\n 'md:p-8 md:gap-16 md:max-w-[960px] md:min-w-[660px]',\n !image ? 'md:grid-cols-1' : 'md:grid-cols-2',\n 'border-separator-opaque-light dark:border-separator-opaque-dark material-ultra-thick'\n )}\n >\n <div className=\"flex flex-col justify-between order-2 md:order-1\">\n <div className=\"flex flex-col\">\n <div className=\"flex flex-col gap-1 md:gap-2 pb-3\">\n {icon && (\n <div\n className={cx('h-8 w-8 rounded-lg overflow-hidden mb-1 md:mb-2', !image ? 'block' : 'hidden md:block')}\n >\n <img className=\"w-full h-full object-cover\" src={icon} alt=\"icon\" />\n </div>\n )}\n <NText variant=\"H2\">{title}</NText>\n {description &&\n description\n .trim()\n .replace(/\\n{3,}/g, '\\n\\n')\n .split('\\n\\n')\n .map((text, index) => (\n <NText significance=\"secondary\" key={index}>\n {text.trim()}\n </NText>\n ))}\n </div>\n {children}\n </div>\n <div className=\"flex justify-end pt-4 gap-2\">\n {hasPreviousStep && (\n <Button\n variant=\"subtle\"\n onClick={onPrevious}\n iconBefore={<CaretLeftIcon />}\n disabled={!onPrevious}\n text={t('Previous')}\n />\n )}\n <Button\n variant=\"subtle\"\n onClick={onNext}\n iconAfter={<CaretRightIcon />}\n disabled={!onNext || !isValid}\n text={hasNextStep ? t('Next') : t('Submit')}\n />\n </div>\n {onQuit && (\n <Button\n className=\"absolute top-0 right-1 md:top-1\"\n variant=\"subtle\"\n size=\"small\"\n onClick={onQuit}\n iconAfter={<XIcon />}\n aria-label=\"quit\"\n />\n )}\n </div>\n {image && (\n <div className=\"flex flex-col justify-center order-1 md:order-2\">\n <div className=\"rounded-lg overflow-hidden mb-6 md:mb-0\">\n <img className=\"w-full h-full object-cover aspect-video md:aspect-square\" src={image} alt=\"image\" />\n </div>\n </div>\n )}\n </div>\n );\n};\n","import { cx, NText } from '@nemme/ui-kit';\nimport { FC } from 'react';\nimport { QuestionWrapper } from '../question-wrapper';\n\nexport type Alternatives = {\n id: number;\n text: string;\n};\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n onPrevious?: () => void;\n onNext?: () => void;\n onQuit?: () => void;\n alternatives: Alternatives[];\n onAlternativeSelect: (id: number) => void;\n selectedAlternatives: number[];\n maxAlternatives?: number;\n isValid?: boolean;\n hasPreviousStep: boolean;\n hasNextStep: boolean;\n};\n\nexport const QuestionChoice: FC<Props> = ({\n title,\n icon,\n description,\n image,\n onPrevious,\n onNext,\n onQuit,\n alternatives = [],\n onAlternativeSelect,\n selectedAlternatives,\n maxAlternatives,\n isValid,\n hasPreviousStep,\n hasNextStep\n}) => {\n return (\n <QuestionWrapper\n title={title}\n icon={icon}\n description={description}\n image={image}\n onPrevious={onPrevious}\n onNext={onNext}\n onQuit={onQuit}\n isValid={isValid}\n hasPreviousStep={hasPreviousStep}\n hasNextStep={hasNextStep}\n >\n <div className=\"flex flex-col max-h-[272px] md:max-h-full overflow-y-auto\">\n {maxAlternatives === 1 ? (\n <div className=\"flex flex-col py-3 md:py-4 gap-2 items-end md:items-start\">\n {alternatives.map(alternative => (\n <button\n key={alternative.id}\n onClick={() => onAlternativeSelect(alternative.id)}\n className=\"flex items-center gap-2 p-3 justify-end rounded-lg border text-label-primary-light dark:text-label-primary-dark border-separator-regular-light dark:border-separator-regular-dark\"\n >\n <NText variant=\"B1Button\">{alternative.text}</NText>\n <Option size={20} selected={selectedAlternatives.includes(alternative.id)} />\n </button>\n ))}\n </div>\n ) : (\n <div className=\"flex py-3 md:py-4 gap-2 justify-end md:justify-start flex-wrap\">\n {alternatives.map(alternative => (\n <button\n key={alternative.id}\n onClick={() => onAlternativeSelect(alternative.id)}\n className={cx(\n 'flex items-center gap-2 p-3 justify-end rounded-lg border',\n selectedAlternatives.includes(alternative.id)\n ? 'text-label-quaternary-light dark:text-label-quaternary-dark border-label-quaternary-light dark:border-label-quaternary-dark bg-secondary-action-base-light dark:bg-secondary-action-base-dark'\n : 'text-label-primary-light dark:text-label-primary-dark border-separator-regular-light dark:border-separator-regular-dark'\n )}\n >\n <NText\n variant=\"B1Button\"\n significance={selectedAlternatives.includes(alternative.id) ? 'quaternary' : 'primary'}\n >\n {alternative.text}\n </NText>\n </button>\n ))}\n </div>\n )}\n </div>\n </QuestionWrapper>\n );\n};\n\ntype OptionProps = {\n size?: number;\n strokeColor?: string;\n fillColor?: string;\n selected?: boolean;\n};\n\nconst Option: FC<OptionProps> = ({ size = 16, strokeColor = 'currentColor', fillColor = 'none', selected = false }) => {\n const viewBoxSize = size + 1; // Adding 1 for padding\n const center = viewBoxSize / 2;\n const radius = (size - 2) / 2; // Slightly smaller to account for stroke\n\n return (\n <svg\n width={size}\n height={size}\n viewBox={`0 0 ${viewBoxSize} ${viewBoxSize}`}\n fill={selected ? fillColor : 'none'}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx={center}\n cy={center}\n r={radius}\n stroke={strokeColor}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n {selected && (\n <circle\n cx={center}\n cy={center}\n r={radius - 3} // Inner circle for selected state\n fill={strokeColor}\n />\n )}\n </svg>\n );\n};\n","import { cx, NText, variantToClassName } from '@nemme/ui-kit';\nimport { FC } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { QuestionWrapper } from '../question-wrapper';\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n onPrevious?: () => void;\n onNext?: () => void;\n onQuit?: () => void;\n\n inputText: string;\n setInputText: (text: string) => void;\n maxCharacters?: number;\n isValid?: boolean;\n hasPreviousStep: boolean;\n hasNextStep: boolean;\n};\n\nexport const QuestionText: FC<Props> = ({\n title,\n icon,\n description,\n image,\n onPrevious,\n onNext,\n onQuit,\n inputText,\n setInputText,\n maxCharacters,\n isValid,\n hasPreviousStep,\n hasNextStep\n}) => {\n const { t } = useTranslation();\n return (\n <QuestionWrapper\n title={title}\n icon={icon}\n description={description}\n image={image}\n onPrevious={onPrevious}\n onNext={onNext}\n onQuit={onQuit}\n isValid={isValid}\n hasPreviousStep={hasPreviousStep}\n hasNextStep={hasNextStep}\n >\n <div className=\"flex flex-col py-3 gap-2\">\n {maxCharacters && (\n <div className=\"flex items-center justify-between\">\n <NText significance=\"secondary\">{t('Max {{maxCharacters}} characters', { maxCharacters })}</NText>\n <NText significance=\"secondary\">{`${inputText.length}/${maxCharacters}`}</NText>\n </div>\n )}\n <div className=\"flex flex-col relative\">\n <NText\n as=\"div\"\n className={cx(\n 'overflow-y-hidden whitespace-pre-wrap invisible break-words rounded-lg py-3 px-4 min-h-20 border-separator-opaque-light dark:border-separator-opaque-dark'\n )}\n >\n {inputText}\n </NText>\n <textarea\n id=\"primary\"\n placeholder={t('Type your answer here')}\n className={cx(\n 'absolute inset-0 resize-none',\n 'overflow-hidden break-words outline-hidden resize-none material-medium',\n 'rounded-lg py-3 px-4 min-h-20 border border-separator-opaque-light dark:border-separator-opaque-dark',\n `text-label-primary-light dark:text-label-primary-dark`,\n variantToClassName['B1']\n )}\n value={inputText}\n onChange={e => setInputText(e.target.value)}\n />\n </div>\n </div>\n </QuestionWrapper>\n );\n};\n","import { cx, NText } from '@nemme/ui-kit';\nimport { FC, ReactNode } from 'react';\n\ntype Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n /** This is the button section and the absolute exit button in top right. */\n children: ReactNode;\n wrapperClassName?: string;\n};\nexport const TransitionWrapper: FC<Props> = ({ title, icon, description, image, children, wrapperClassName }) => {\n return (\n <div\n className={cx(\n 'grid mx-4 my-8 rounded-xl border',\n 'grid-cols-1 p-4 pt-10',\n 'md:p-8 md:gap-16 md:max-w-[960px] md:min-w-[660px]',\n !image ? 'md:grid-cols-1' : 'md:grid-cols-2',\n 'border-separator-opaque-light dark:border-separator-opaque-dark material-ultra-thick',\n wrapperClassName\n )}\n >\n <div className=\"flex flex-col justify-between gap-6 md:gap-8 order-2 md:order-1\">\n <div className=\"flex flex-col gap-6 md:gap-8\">\n <div className=\"flex flex-col gap-2 md:gap-4\">\n {icon && (\n <div className={cx('h-8 w-8 rounded-lg overflow-hidden', !image ? 'block' : 'hidden md:block')}>\n <img className=\"w-full h-full object-cover\" src={icon} alt=\"icon\" />\n </div>\n )}\n <NText variant=\"H2\">{title}</NText>\n </div>\n {description &&\n description\n .trim()\n .replace(/\\n{3,}/g, '\\n\\n')\n .split('\\n\\n')\n .map((text, index) => <NText key={index}>{text.trim()}</NText>)}\n </div>\n {children}\n </div>\n {image && (\n <div className=\"flex flex-col justify-center order-1 md:order-2\">\n <div className=\"rounded-lg overflow-hidden mb-6 md:mb-0\">\n <img className=\"w-full h-full object-cover aspect-video md:aspect-square\" src={image} alt=\"image\" />\n </div>\n </div>\n )}\n </div>\n );\n};\n","import { Button } from '@nemme/ui-kit';\nimport { ArrowSquareOutIcon, XIcon } from '@phosphor-icons/react';\nimport { FC } from 'react';\nimport { TransitionWrapper } from '../transition-wrapper';\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n quitText?: string;\n onQuit: () => void;\n externalLink?: string;\n};\n\nexport const TransitionEnd: FC<Props> = ({ title, icon, description, image, quitText, onQuit, externalLink }) => {\n return (\n <TransitionWrapper title={title} icon={icon} description={description} image={image}>\n <div className=\"flex justify-end gap-2\">\n {externalLink ? (\n <Button\n variant=\"secondary\"\n text={quitText}\n iconAfter={<ArrowSquareOutIcon />}\n onClick={() => {\n window.open(externalLink, '_blank');\n onQuit();\n }}\n />\n ) : (\n <Button variant=\"secondary\" onClick={onQuit} text={quitText} />\n )}\n </div>\n {externalLink && (\n <Button\n className=\"absolute -top-2 -right-2 md:-top-4 md:-right-4\"\n variant=\"secondary\"\n size=\"small\"\n onClick={onQuit}\n iconAfter={<XIcon />}\n aria-label=\"quit\"\n />\n )}\n </TransitionWrapper>\n );\n};\n","import { Button } from '@nemme/ui-kit';\nimport { XIcon } from '@phosphor-icons/react';\nimport { FC } from 'react';\nimport { TransitionWrapper } from '../transition-wrapper';\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n quitText?: string;\n onQuit?: () => void;\n startText?: string;\n onStart?: () => void;\n};\n\nexport const TransitionStart: FC<Props> = ({\n title,\n icon,\n description,\n image,\n quitText,\n onQuit,\n startText,\n onStart\n}) => {\n return (\n <TransitionWrapper title={title} icon={icon} description={description} image={image} wrapperClassName=\"relative\">\n <div className=\"flex justify-end gap-2\">\n {onQuit && quitText && <Button variant=\"subtle\" text={quitText} onClick={onQuit} />}\n <Button variant=\"secondary\" text={startText} onClick={onStart} />\n </div>\n {onQuit && (\n <Button\n className=\"absolute top-0 right-1 md:top-1\"\n variant=\"subtle\"\n size=\"small\"\n onClick={onQuit}\n iconAfter={<XIcon />}\n aria-label=\"quit\"\n />\n )}\n </TransitionWrapper>\n );\n};\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\",\n },\n\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\",\n },\n\n halfAMinute: \"half a minute\",\n\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\",\n },\n\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\",\n },\n\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\",\n },\n\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\",\n },\n\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\",\n },\n\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\",\n },\n\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\",\n },\n\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\",\n },\n\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\",\n },\n\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\",\n },\n\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return result + \" ago\";\n }\n }\n\n return result;\n};\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","const formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + \"st\";\n case 2:\n return number + \"nd\";\n case 3:\n return number + \"rd\";\n }\n }\n return number + \"th\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // [TODO] -- I challenge you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // [TODO] -- I challenge you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // [TODO] I challenge you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import {\n getDefaultOptions,\n setDefaultOptions as setInternalDefaultOptions,\n} from \"./_lib/defaultOptions.js\";\n\n/**\n * @name setDefaultOptions\n * @category Common Helpers\n * @summary Set default options including locale.\n * @pure false\n *\n * @description\n * Sets the defaults for\n * `options.locale`, `options.weekStartsOn` and `options.firstWeekContainsDate`\n * arguments for all functions.\n *\n * @param options - An object with options\n *\n * @example\n * // Set global locale:\n * import { es } from 'date-fns/locale'\n * setDefaultOptions({ locale: es })\n * const result = format(new Date(2014, 8, 2), 'PPPP')\n * //=> 'martes, 2 de septiembre de 2014'\n *\n * @example\n * // Start of the week for 2 September 2014:\n * const result = startOfWeek(new Date(2014, 8, 2))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // Start of the week for 2 September 2014,\n * // when we set that week starts on Monday by default:\n * setDefaultOptions({ weekStartsOn: 1 })\n * const result = startOfWeek(new Date(2014, 8, 2))\n * //=> Mon Sep 01 2014 00:00:00\n *\n * @example\n * // Manually set options take priority over default options:\n * setDefaultOptions({ weekStartsOn: 1 })\n * const result = startOfWeek(new Date(2014, 8, 2), { weekStartsOn: 0 })\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // Remove the option by setting it to `undefined`:\n * setDefaultOptions({ weekStartsOn: 1 })\n * setDefaultOptions({ weekStartsOn: undefined })\n * const result = startOfWeek(new Date(2014, 8, 2))\n * //=> Sun Aug 31 2014 00:00:00\n */\nexport function setDefaultOptions(options) {\n const result = {};\n const defaultOptions = getDefaultOptions();\n\n for (const property in defaultOptions) {\n if (Object.prototype.hasOwnProperty.call(defaultOptions, property)) {\n // [TODO] I challenge you to fix the type\n result[property] = defaultOptions[property];\n }\n }\n\n for (const property in options) {\n if (Object.prototype.hasOwnProperty.call(options, property)) {\n if (options[property] === undefined) {\n // [TODO] I challenge you to fix the type\n delete result[property];\n } else {\n // [TODO] I challenge you to fix the type\n result[property] = options[property];\n }\n }\n }\n\n setInternalDefaultOptions(result);\n}\n\n// Fallback for modularized imports:\nexport default setDefaultOptions;\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, d MMMM yyyy\",\n long: \"d MMMM yyyy\",\n medium: \"d MMM yyyy\",\n short: \"dd/MM/yyyy\",\n};\n\nconst timeFormats = {\n full: \"HH:mm:ss zzzz\",\n long: \"HH:mm:ss z\",\n medium: \"HH:mm:ss\",\n short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","import { formatDistance } from \"./en-US/_lib/formatDistance.js\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.js\";\nimport { localize } from \"./en-US/_lib/localize.js\";\nimport { match } from \"./en-US/_lib/match.js\";\n\nimport { formatLong } from \"./en-GB/_lib/formatLong.js\";\n\n/**\n * @category Locales\n * @summary English locale (United Kingdom).\n * @language English\n * @iso-639-2 eng\n * @author Alex [@glintik](https://github.com/glintik)\n */\nexport const enGB = {\n code: \"en-GB\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1 /* Monday */,\n firstWeekContainsDate: 4,\n },\n};\n\n// Fallback for modularized imports:\nexport default enGB;\n","const isString = obj => typeof obj === 'string';\nconst defer = () => {\n let res;\n let rej;\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n};\nconst makeString = object => {\n if (object == null) return '';\n return '' + object;\n};\nconst copy = (a, s, t) => {\n a.forEach(m => {\n if (s[m]) t[m] = s[m];\n });\n};\nconst lastOfPathSeparatorRegExp = /###/g;\nconst cleanKey = key => key && key.indexOf('###') > -1 ? key.replace(lastOfPathSeparatorRegExp, '.') : key;\nconst canNotTraverseDeeper = object => !object || isString(object);\nconst getLastOfPath = (object, path, Empty) => {\n const stack = !isString(path) ? path : path.split('.');\n let stackIndex = 0;\n while (stackIndex < stack.length - 1) {\n if (canNotTraverseDeeper(object)) return {};\n const key = cleanKey(stack[stackIndex]);\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n ++stackIndex;\n }\n if (canNotTraverseDeeper(object)) return {};\n return {\n obj: object,\n k: cleanKey(stack[stackIndex])\n };\n};\nconst setPath = (object, path, newValue) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n if (obj !== undefined || path.length === 1) {\n obj[k] = newValue;\n return;\n }\n let e = path[path.length - 1];\n let p = path.slice(0, path.length - 1);\n let last = getLastOfPath(object, p, Object);\n while (last.obj === undefined && p.length) {\n e = `${p[p.length - 1]}.${e}`;\n p = p.slice(0, p.length - 1);\n last = getLastOfPath(object, p, Object);\n if (last?.obj && typeof last.obj[`${last.k}.${e}`] !== 'undefined') {\n last.obj = undefined;\n }\n }\n last.obj[`${last.k}.${e}`] = newValue;\n};\nconst pushPath = (object, path, newValue, concat) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = obj[k] || [];\n obj[k].push(newValue);\n};\nconst getPath = (object, path) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path);\n if (!obj) return undefined;\n if (!Object.prototype.hasOwnProperty.call(obj, k)) return undefined;\n return obj[k];\n};\nconst getPathWithDefaults = (data, defaultData, key) => {\n const value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n};\nconst deepExtend = (target, source, overwrite) => {\n for (const prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (isString(target[prop]) || target[prop] instanceof String || isString(source[prop]) || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n};\nconst regexEscape = str => str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\nvar _entityMap = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n '/': '&#x2F;'\n};\nconst escape = data => {\n if (isString(data)) {\n return data.replace(/[&<>\"'\\/]/g, s => _entityMap[s]);\n }\n return data;\n};\nclass RegExpCache {\n constructor(capacity) {\n this.capacity = capacity;\n this.regExpMap = new Map();\n this.regExpQueue = [];\n }\n getRegExp(pattern) {\n const regExpFromCache = this.regExpMap.get(pattern);\n if (regExpFromCache !== undefined) {\n return regExpFromCache;\n }\n const regExpNew = new RegExp(pattern);\n if (this.regExpQueue.length === this.capacity) {\n this.regExpMap.delete(this.regExpQueue.shift());\n }\n this.regExpMap.set(pattern, regExpNew);\n this.regExpQueue.push(pattern);\n return regExpNew;\n }\n}\nconst chars = [' ', ',', '?', '!', ';'];\nconst looksLikeObjectPathRegExpCache = new RegExpCache(20);\nconst looksLikeObjectPath = (key, nsSeparator, keySeparator) => {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0);\n if (possibleChars.length === 0) return true;\n const r = looksLikeObjectPathRegExpCache.getRegExp(`(${possibleChars.map(c => c === '?' ? '\\\\?' : c).join('|')})`);\n let matched = !r.test(key);\n if (!matched) {\n const ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n};\nconst deepFind = (obj, path, keySeparator = '.') => {\n if (!obj) return undefined;\n if (obj[path]) {\n if (!Object.prototype.hasOwnProperty.call(obj, path)) return undefined;\n return obj[path];\n }\n const tokens = path.split(keySeparator);\n let current = obj;\n for (let i = 0; i < tokens.length;) {\n if (!current || typeof current !== 'object') {\n return undefined;\n }\n let next;\n let nextPath = '';\n for (let j = i; j < tokens.length; ++j) {\n if (j !== i) {\n nextPath += keySeparator;\n }\n nextPath += tokens[j];\n next = current[nextPath];\n if (next !== undefined) {\n if (['string', 'number', 'boolean'].indexOf(typeof next) > -1 && j < tokens.length - 1) {\n continue;\n }\n i += j - i + 1;\n break;\n }\n }\n current = next;\n }\n return current;\n};\nconst getCleanedCode = code => code?.replace('_', '-');\n\nconst consoleLogger = {\n type: 'logger',\n log(args) {\n this.output('log', args);\n },\n warn(args) {\n this.output('warn', args);\n },\n error(args) {\n this.output('error', args);\n },\n output(type, args) {\n console?.[type]?.apply?.(console, args);\n }\n};\nclass Logger {\n constructor(concreteLogger, options = {}) {\n this.init(concreteLogger, options);\n }\n init(concreteLogger, options = {}) {\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n log(...args) {\n return this.forward(args, 'log', '', true);\n }\n warn(...args) {\n return this.forward(args, 'warn', '', true);\n }\n error(...args) {\n return this.forward(args, 'error', '');\n }\n deprecate(...args) {\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (isString(args[0])) args[0] = `${prefix}${this.prefix} ${args[0]}`;\n return this.logger[lvl](args);\n }\n create(moduleName) {\n return new Logger(this.logger, {\n ...{\n prefix: `${this.prefix}:${moduleName}:`\n },\n ...this.options\n });\n }\n clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n}\nvar baseLogger = new Logger();\n\nclass EventEmitter {\n constructor() {\n this.observers = {};\n }\n on(events, listener) {\n events.split(' ').forEach(event => {\n if (!this.observers[event]) this.observers[event] = new Map();\n const numListeners = this.observers[event].get(listener) || 0;\n this.observers[event].set(listener, numListeners + 1);\n });\n return this;\n }\n off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event].delete(listener);\n }\n emit(event, ...args) {\n if (this.observers[event]) {\n const cloned = Array.from(this.observers[event].entries());\n cloned.forEach(([observer, numTimesAdded]) => {\n for (let i = 0; i < numTimesAdded; i++) {\n observer(...args);\n }\n });\n }\n if (this.observers['*']) {\n const cloned = Array.from(this.observers['*'].entries());\n cloned.forEach(([observer, numTimesAdded]) => {\n for (let i = 0; i < numTimesAdded; i++) {\n observer.apply(observer, [event, ...args]);\n }\n });\n }\n }\n}\n\nclass ResourceStore extends EventEmitter {\n constructor(data, options = {\n ns: ['translation'],\n defaultNS: 'translation'\n }) {\n super();\n this.data = data || {};\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n if (this.options.ignoreJSONStructure === undefined) {\n this.options.ignoreJSONStructure = true;\n }\n }\n addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n removeNamespaces(ns) {\n const index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n getResource(lng, ns, key, options = {}) {\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n let path;\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n } else {\n path = [lng, ns];\n if (key) {\n if (Array.isArray(key)) {\n path.push(...key);\n } else if (isString(key) && keySeparator) {\n path.push(...key.split(keySeparator));\n } else {\n path.push(key);\n }\n }\n }\n const result = getPath(this.data, path);\n if (!result && !ns && !key && lng.indexOf('.') > -1) {\n lng = path[0];\n ns = path[1];\n key = path.slice(2).join('.');\n }\n if (result || !ignoreJSONStructure || !isString(key)) return result;\n return deepFind(this.data?.[lng]?.[ns], key, keySeparator);\n }\n addResource(lng, ns, key, value, options = {\n silent: false\n }) {\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n addResources(lng, ns, resources, options = {\n silent: false\n }) {\n for (const m in resources) {\n if (isString(resources[m]) || Array.isArray(resources[m])) this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n addResourceBundle(lng, ns, resources, deep, overwrite, options = {\n silent: false,\n skipCopy: false\n }) {\n let path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n let pack = getPath(this.data, path) || {};\n if (!options.skipCopy) resources = JSON.parse(JSON.stringify(resources));\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = {\n ...pack,\n ...resources\n };\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n return this.getResource(lng, ns);\n }\n getDataByLanguage(lng) {\n return this.data[lng];\n }\n hasLanguageSomeTranslations(lng) {\n const data = this.getDataByLanguage(lng);\n const n = data && Object.keys(data) || [];\n return !!n.find(v => data[v] && Object.keys(data[v]).length > 0);\n }\n toJSON() {\n return this.data;\n }\n}\n\nvar postProcessor = {\n processors: {},\n addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle(processors, value, key, options, translator) {\n processors.forEach(processor => {\n value = this.processors[processor]?.process(value, key, options, translator) ?? value;\n });\n return value;\n }\n};\n\nconst PATH_KEY = Symbol('i18next/PATH_KEY');\nfunction createProxy() {\n const state = [];\n const handler = Object.create(null);\n let proxy;\n handler.get = (target, key) => {\n proxy?.revoke?.();\n if (key === PATH_KEY) return state;\n state.push(key);\n proxy = Proxy.revocable(target, handler);\n return proxy.proxy;\n };\n return Proxy.revocable(Object.create(null), handler).proxy;\n}\nfunction keysFromSelector(selector, opts) {\n const {\n [PATH_KEY]: path\n } = selector(createProxy());\n return path.join(opts?.keySeparator ?? '.');\n}\n\nconst checkedLoadedFor = {};\nconst shouldHandleAsObject = res => !isString(res) && typeof res !== 'boolean' && typeof res !== 'number';\nclass Translator extends EventEmitter {\n constructor(services, options = {}) {\n super();\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this);\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n this.logger = baseLogger.create('translator');\n }\n changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n exists(key, o = {\n interpolation: {}\n }) {\n const opt = {\n ...o\n };\n if (key == null) return false;\n const resolved = this.resolve(key, opt);\n return resolved?.res !== undefined;\n }\n extractFromKey(key, opt) {\n let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator;\n let namespaces = opt.ns || this.options.defaultNS || [];\n const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !opt.keySeparator && !this.options.userDefinedNsSeparator && !opt.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n const m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n const parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n translate(keys, o, lastKey) {\n let opt = typeof o === 'object' ? {\n ...o\n } : o;\n if (typeof opt !== 'object' && this.options.overloadTranslationOptionHandler) {\n opt = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (typeof opt === 'object') opt = {\n ...opt\n };\n if (!opt) opt = {};\n if (keys == null) return '';\n if (typeof keys === 'function') keys = keysFromSelector(keys, {\n ...this.options,\n ...opt\n });\n if (!Array.isArray(keys)) keys = [String(keys)];\n const returnDetails = opt.returnDetails !== undefined ? opt.returnDetails : this.options.returnDetails;\n const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator;\n const {\n key,\n namespaces\n } = this.extractFromKey(keys[keys.length - 1], opt);\n const namespace = namespaces[namespaces.length - 1];\n let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const lng = opt.lng || this.language;\n const appendNamespaceToCIMode = opt.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng?.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n if (returnDetails) {\n return {\n res: `${namespace}${nsSeparator}${key}`,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(opt)\n };\n }\n return `${namespace}${nsSeparator}${key}`;\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(opt)\n };\n }\n return key;\n }\n const resolved = this.resolve(keys, opt);\n let res = resolved?.res;\n const resUsedKey = resolved?.usedKey || key;\n const resExactUsedKey = resolved?.exactUsedKey || key;\n const noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n const joinArrays = opt.joinArrays !== undefined ? opt.joinArrays : this.options.joinArrays;\n const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n const needsPluralHandling = opt.count !== undefined && !isString(opt.count);\n const hasDefaultValue = Translator.hasDefaultValue(opt);\n const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, opt) : '';\n const defaultValueSuffixOrdinalFallback = opt.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, {\n ordinal: false\n }) : '';\n const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0;\n const defaultValue = needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] || opt[`defaultValue${defaultValueSuffix}`] || opt[`defaultValue${defaultValueSuffixOrdinalFallback}`] || opt.defaultValue;\n let resForObjHndl = res;\n if (handleAsObjectInI18nFormat && !res && hasDefaultValue) {\n resForObjHndl = defaultValue;\n }\n const handleAsObject = shouldHandleAsObject(resForObjHndl);\n const resType = Object.prototype.toString.apply(resForObjHndl);\n if (handleAsObjectInI18nFormat && resForObjHndl && handleAsObject && noObject.indexOf(resType) < 0 && !(isString(joinArrays) && Array.isArray(resForObjHndl))) {\n if (!opt.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, resForObjHndl, {\n ...opt,\n ns: namespaces\n }) : `key '${key} (${this.language})' returned an object instead of string.`;\n if (returnDetails) {\n resolved.res = r;\n resolved.usedParams = this.getUsedParamsDetails(opt);\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n const resTypeIsArray = Array.isArray(resForObjHndl);\n const copy = resTypeIsArray ? [] : {};\n const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (const m in resForObjHndl) {\n if (Object.prototype.hasOwnProperty.call(resForObjHndl, m)) {\n const deepKey = `${newKeyToUse}${keySeparator}${m}`;\n if (hasDefaultValue && !res) {\n copy[m] = this.translate(deepKey, {\n ...opt,\n defaultValue: shouldHandleAsObject(defaultValue) ? defaultValue[m] : undefined,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n } else {\n copy[m] = this.translate(deepKey, {\n ...opt,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n }\n if (copy[m] === deepKey) copy[m] = resForObjHndl[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && isString(joinArrays) && Array.isArray(res)) {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, opt, lastKey);\n } else {\n let usedDefault = false;\n let usedKey = false;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n const missingKeyNoValueFallbackToKey = opt.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n const fk = this.resolve(key, {\n ...opt,\n keySeparator: false\n });\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n let lngs = [];\n const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, opt.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (let i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(opt.lng || this.language);\n } else {\n lngs.push(opt.lng || this.language);\n }\n const send = (l, k, specificDefaultValue) => {\n const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (this.options.missingKeyHandler) {\n this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, opt);\n } else if (this.backendConnector?.saveMissing) {\n this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, opt);\n }\n this.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(language => {\n const suffixes = this.pluralResolver.getSuffixes(language, opt);\n if (needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] && suffixes.indexOf(`${this.options.pluralSeparator}zero`) < 0) {\n suffixes.push(`${this.options.pluralSeparator}zero`);\n }\n suffixes.forEach(suffix => {\n send([language], key + suffix, opt[`defaultValue${suffix}`] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, opt, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) {\n res = `${namespace}${nsSeparator}${key}`;\n }\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}${nsSeparator}${key}` : key, usedDefault ? res : undefined, opt);\n }\n }\n if (returnDetails) {\n resolved.res = res;\n resolved.usedParams = this.getUsedParamsDetails(opt);\n return resolved;\n }\n return res;\n }\n extendTranslation(res, key, opt, resolved, lastKey) {\n if (this.i18nFormat?.parse) {\n res = this.i18nFormat.parse(res, {\n ...this.options.interpolation.defaultVariables,\n ...opt\n }, opt.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved\n });\n } else if (!opt.skipInterpolation) {\n if (opt.interpolation) this.interpolator.init({\n ...opt,\n ...{\n interpolation: {\n ...this.options.interpolation,\n ...opt.interpolation\n }\n }\n });\n const skipOnVariables = isString(res) && (opt?.interpolation?.skipOnVariables !== undefined ? opt.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n let nestBef;\n if (skipOnVariables) {\n const nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n let data = opt.replace && !isString(opt.replace) ? opt.replace : opt;\n if (this.options.interpolation.defaultVariables) data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n res = this.interpolator.interpolate(res, data, opt.lng || this.language || resolved.usedLng, opt);\n if (skipOnVariables) {\n const na = res.match(this.interpolator.nestingRegexp);\n const nestAft = na && na.length;\n if (nestBef < nestAft) opt.nest = false;\n }\n if (!opt.lng && resolved && resolved.res) opt.lng = this.language || resolved.usedLng;\n if (opt.nest !== false) res = this.interpolator.nest(res, (...args) => {\n if (lastKey?.[0] === args[0] && !opt.context) {\n this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`);\n return null;\n }\n return this.translate(...args, key);\n }, opt);\n if (opt.interpolation) this.interpolator.reset();\n }\n const postProcess = opt.postProcess || this.options.postProcess;\n const postProcessorNames = isString(postProcess) ? [postProcess] : postProcess;\n if (res != null && postProcessorNames?.length && opt.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? {\n i18nResolved: {\n ...resolved,\n usedParams: this.getUsedParamsDetails(opt)\n },\n ...opt\n } : opt, this);\n }\n return res;\n }\n resolve(keys, opt = {}) {\n let found;\n let usedKey;\n let exactUsedKey;\n let usedLng;\n let usedNS;\n if (isString(keys)) keys = [keys];\n keys.forEach(k => {\n if (this.isValidLookup(found)) return;\n const extracted = this.extractFromKey(k, opt);\n const key = extracted.key;\n usedKey = key;\n let namespaces = extracted.namespaces;\n if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS);\n const needsPluralHandling = opt.count !== undefined && !isString(opt.count);\n const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0;\n const needsContextHandling = opt.context !== undefined && (isString(opt.context) || typeof opt.context === 'number') && opt.context !== '';\n const codes = opt.lngs ? opt.lngs : this.languageUtils.toResolveHierarchy(opt.lng || this.language, opt.fallbackLng);\n namespaces.forEach(ns => {\n if (this.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils?.hasLoadedNamespace && !this.utils?.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[`${codes[0]}-${ns}`] = true;\n this.logger.warn(`key \"${usedKey}\" for languages \"${codes.join(', ')}\" won't get resolved as namespace \"${usedNS}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(code => {\n if (this.isValidLookup(found)) return;\n usedLng = code;\n const finalKeys = [key];\n if (this.i18nFormat?.addLookupKeys) {\n this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, opt);\n } else {\n let pluralSuffix;\n if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, opt.count, opt);\n const zeroSuffix = `${this.options.pluralSeparator}zero`;\n const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;\n if (needsPluralHandling) {\n if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n const contextKey = `${key}${this.options.contextSeparator || '_'}${opt.context}`;\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n let possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!this.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = this.getResource(code, ns, possibleKey, opt);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey,\n exactUsedKey,\n usedLng,\n usedNS\n };\n }\n isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n getResource(code, ns, key, options = {}) {\n if (this.i18nFormat?.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n getUsedParamsDetails(options = {}) {\n const optionsKeys = ['defaultValue', 'ordinal', 'context', 'replace', 'lng', 'lngs', 'fallbackLng', 'ns', 'keySeparator', 'nsSeparator', 'returnObjects', 'returnDetails', 'joinArrays', 'postProcess', 'interpolation'];\n const useOptionsReplaceForData = options.replace && !isString(options.replace);\n let data = useOptionsReplaceForData ? options.replace : options;\n if (useOptionsReplaceForData && typeof options.count !== 'undefined') {\n data.count = options.count;\n }\n if (this.options.interpolation.defaultVariables) {\n data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n }\n if (!useOptionsReplaceForData) {\n data = {\n ...data\n };\n for (const key of optionsKeys) {\n delete data[key];\n }\n }\n return data;\n }\n static hasDefaultValue(options) {\n const prefix = 'defaultValue';\n for (const option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n}\n\nclass LanguageUtil {\n constructor(options) {\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n getScriptPartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return null;\n const p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n getLanguagePartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return code;\n const p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n formatLanguageCode(code) {\n if (isString(code) && code.indexOf('-') > -1) {\n let formattedCode;\n try {\n formattedCode = Intl.getCanonicalLocales(code)[0];\n } catch (e) {}\n if (formattedCode && this.options.lowerCaseLng) {\n formattedCode = formattedCode.toLowerCase();\n }\n if (formattedCode) return formattedCode;\n if (this.options.lowerCaseLng) {\n return code.toLowerCase();\n }\n return code;\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n getBestMatchFromCodes(codes) {\n if (!codes) return null;\n let found;\n codes.forEach(code => {\n if (found) return;\n const cleanedLng = this.formatLanguageCode(code);\n if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(code => {\n if (found) return;\n const lngScOnly = this.getScriptPartFromCode(code);\n if (this.isSupportedCode(lngScOnly)) return found = lngScOnly;\n const lngOnly = this.getLanguagePartFromCode(code);\n if (this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = this.options.supportedLngs.find(supportedLng => {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf('-') > 0 && lngOnly.indexOf('-') < 0 && supportedLng.substring(0, supportedLng.indexOf('-')) === lngOnly) return supportedLng;\n if (supportedLng.indexOf(lngOnly) === 0 && lngOnly.length > 1) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (isString(fallbacks)) fallbacks = [fallbacks];\n if (Array.isArray(fallbacks)) return fallbacks;\n if (!code) return fallbacks.default || [];\n let found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks.default;\n return found || [];\n }\n toResolveHierarchy(code, fallbackCode) {\n const fallbackCodes = this.getFallbackCodes((fallbackCode === false ? [] : fallbackCode) || this.options.fallbackLng || [], code);\n const codes = [];\n const addCode = c => {\n if (!c) return;\n if (this.isSupportedCode(c)) {\n codes.push(c);\n } else {\n this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`);\n }\n };\n if (isString(code) && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (isString(code)) {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(fc => {\n if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc));\n });\n return codes;\n }\n}\n\nconst suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nconst dummyRule = {\n select: count => count === 1 ? 'one' : 'other',\n resolvedOptions: () => ({\n pluralCategories: ['one', 'other']\n })\n};\nclass PluralResolver {\n constructor(languageUtils, options = {}) {\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.pluralRulesCache = {};\n }\n addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n clearCache() {\n this.pluralRulesCache = {};\n }\n getRule(code, options = {}) {\n const cleanedCode = getCleanedCode(code === 'dev' ? 'en' : code);\n const type = options.ordinal ? 'ordinal' : 'cardinal';\n const cacheKey = JSON.stringify({\n cleanedCode,\n type\n });\n if (cacheKey in this.pluralRulesCache) {\n return this.pluralRulesCache[cacheKey];\n }\n let rule;\n try {\n rule = new Intl.PluralRules(cleanedCode, {\n type\n });\n } catch (err) {\n if (!Intl) {\n this.logger.error('No Intl support, please use an Intl polyfill!');\n return dummyRule;\n }\n if (!code.match(/-|_/)) return dummyRule;\n const lngPart = this.languageUtils.getLanguagePartFromCode(code);\n rule = this.getRule(lngPart, options);\n }\n this.pluralRulesCache[cacheKey] = rule;\n return rule;\n }\n needsPlural(code, options = {}) {\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n return rule?.resolvedOptions().pluralCategories.length > 1;\n }\n getPluralFormsOfKey(code, key, options = {}) {\n return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`);\n }\n getSuffixes(code, options = {}) {\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n if (!rule) return [];\n return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`);\n }\n getSuffix(code, count, options = {}) {\n const rule = this.getRule(code, options);\n if (rule) {\n return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`;\n }\n this.logger.warn(`no plural rule found for: ${code}`);\n return this.getSuffix('dev', count, options);\n }\n}\n\nconst deepFindWithDefaults = (data, defaultData, key, keySeparator = '.', ignoreJSONStructure = true) => {\n let path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && isString(key)) {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n};\nconst regexSafe = val => val.replace(/\\$/g, '$$$$');\nclass Interpolator {\n constructor(options = {}) {\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options?.interpolation?.format || (value => value);\n this.init(options);\n }\n init(options = {}) {\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n const {\n escape: escape$1,\n escapeValue,\n useRawValueToEscape,\n prefix,\n prefixEscaped,\n suffix,\n suffixEscaped,\n formatSeparator,\n unescapeSuffix,\n unescapePrefix,\n nestingPrefix,\n nestingPrefixEscaped,\n nestingSuffix,\n nestingSuffixEscaped,\n nestingOptionsSeparator,\n maxReplaces,\n alwaysFormat\n } = options.interpolation;\n this.escape = escape$1 !== undefined ? escape$1 : escape;\n this.escapeValue = escapeValue !== undefined ? escapeValue : true;\n this.useRawValueToEscape = useRawValueToEscape !== undefined ? useRawValueToEscape : false;\n this.prefix = prefix ? regexEscape(prefix) : prefixEscaped || '{{';\n this.suffix = suffix ? regexEscape(suffix) : suffixEscaped || '}}';\n this.formatSeparator = formatSeparator || ',';\n this.unescapePrefix = unescapeSuffix ? '' : unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : unescapeSuffix || '';\n this.nestingPrefix = nestingPrefix ? regexEscape(nestingPrefix) : nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = nestingSuffix ? regexEscape(nestingSuffix) : nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = nestingOptionsSeparator || ',';\n this.maxReplaces = maxReplaces || 1000;\n this.alwaysFormat = alwaysFormat !== undefined ? alwaysFormat : false;\n this.resetRegExp();\n }\n reset() {\n if (this.options) this.init(this.options);\n }\n resetRegExp() {\n const getOrResetRegExp = (existingRegExp, pattern) => {\n if (existingRegExp?.source === pattern) {\n existingRegExp.lastIndex = 0;\n return existingRegExp;\n }\n return new RegExp(pattern, 'g');\n };\n this.regexp = getOrResetRegExp(this.regexp, `${this.prefix}(.+?)${this.suffix}`);\n this.regexpUnescape = getOrResetRegExp(this.regexpUnescape, `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`);\n this.nestingRegexp = getOrResetRegExp(this.nestingRegexp, `${this.nestingPrefix}((?:[^()\"']+|\"[^\"]*\"|'[^']*'|\\\\((?:[^()]|\"[^\"]*\"|'[^']*')*\\\\))*?)${this.nestingSuffix}`);\n }\n interpolate(str, data, lng, options) {\n let match;\n let value;\n let replaces;\n const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n const handleFormat = key => {\n if (key.indexOf(this.formatSeparator) < 0) {\n const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure);\n return this.alwaysFormat ? this.format(path, undefined, lng, {\n ...options,\n ...data,\n interpolationkey: key\n }) : path;\n }\n const p = key.split(this.formatSeparator);\n const k = p.shift().trim();\n const f = p.join(this.formatSeparator).trim();\n return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, {\n ...options,\n ...data,\n interpolationkey: k\n });\n };\n this.resetRegExp();\n const missingInterpolationHandler = options?.missingInterpolationHandler || this.options.missingInterpolationHandler;\n const skipOnVariables = options?.interpolation?.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n const todos = [{\n regex: this.regexpUnescape,\n safeValue: val => regexSafe(val)\n }, {\n regex: this.regexp,\n safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val)\n }];\n todos.forEach(todo => {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n const matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n const temp = missingInterpolationHandler(str, match, options);\n value = isString(temp) ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`);\n value = '';\n }\n } else if (!isString(value) && !this.useRawValueToEscape) {\n value = makeString(value);\n }\n const safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n nest(str, fc, options = {}) {\n let match;\n let value;\n let clonedOptions;\n const handleHasOptions = (key, inheritedOptions) => {\n const sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n const c = key.split(new RegExp(`${sep}[ ]*{`));\n let optionsString = `{${c[1]}`;\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n const matchedSingleQuotes = optionsString.match(/'/g);\n const matchedDoubleQuotes = optionsString.match(/\"/g);\n if ((matchedSingleQuotes?.length ?? 0) % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = {\n ...inheritedOptions,\n ...clonedOptions\n };\n } catch (e) {\n this.logger.warn(`failed parsing options string in nesting for key ${key}`, e);\n return `${key}${sep}${optionsString}`;\n }\n if (clonedOptions.defaultValue && clonedOptions.defaultValue.indexOf(this.prefix) > -1) delete clonedOptions.defaultValue;\n return key;\n };\n while (match = this.nestingRegexp.exec(str)) {\n let formatters = [];\n clonedOptions = {\n ...options\n };\n clonedOptions = clonedOptions.replace && !isString(clonedOptions.replace) ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n const keyEndIndex = /{.*}/.test(match[1]) ? match[1].lastIndexOf('}') + 1 : match[1].indexOf(this.formatSeparator);\n if (keyEndIndex !== -1) {\n formatters = match[1].slice(keyEndIndex).split(this.formatSeparator).map(elem => elem.trim()).filter(Boolean);\n match[1] = match[1].slice(0, keyEndIndex);\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && !isString(value)) return value;\n if (!isString(value)) value = makeString(value);\n if (!value) {\n this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`);\n value = '';\n }\n if (formatters.length) {\n value = formatters.reduce((v, f) => this.format(v, f, options.lng, {\n ...options,\n interpolationkey: match[1].trim()\n }), value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n}\n\nconst parseFormatStr = formatStr => {\n let formatName = formatStr.toLowerCase().trim();\n const formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n const p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n const optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n const opts = optStr.split(';');\n opts.forEach(opt => {\n if (opt) {\n const [key, ...rest] = opt.split(':');\n const val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n const trimmedKey = key.trim();\n if (!formatOptions[trimmedKey]) formatOptions[trimmedKey] = val;\n if (val === 'false') formatOptions[trimmedKey] = false;\n if (val === 'true') formatOptions[trimmedKey] = true;\n if (!isNaN(val)) formatOptions[trimmedKey] = parseInt(val, 10);\n }\n });\n }\n }\n return {\n formatName,\n formatOptions\n };\n};\nconst createCachedFormatter = fn => {\n const cache = {};\n return (v, l, o) => {\n let optForCache = o;\n if (o && o.interpolationkey && o.formatParams && o.formatParams[o.interpolationkey] && o[o.interpolationkey]) {\n optForCache = {\n ...optForCache,\n [o.interpolationkey]: undefined\n };\n }\n const key = l + JSON.stringify(optForCache);\n let frm = cache[key];\n if (!frm) {\n frm = fn(getCleanedCode(l), o);\n cache[key] = frm;\n }\n return frm(v);\n };\n};\nconst createNonCachedFormatter = fn => (v, l, o) => fn(getCleanedCode(l), o)(v);\nclass Formatter {\n constructor(options = {}) {\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.init(options);\n }\n init(services, options = {\n interpolation: {}\n }) {\n this.formatSeparator = options.interpolation.formatSeparator || ',';\n const cf = options.cacheInBuiltFormats ? createCachedFormatter : createNonCachedFormatter;\n this.formats = {\n number: cf((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n currency: cf((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt,\n style: 'currency'\n });\n return val => formatter.format(val);\n }),\n datetime: cf((lng, opt) => {\n const formatter = new Intl.DateTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n relativetime: cf((lng, opt) => {\n const formatter = new Intl.RelativeTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val, opt.range || 'day');\n }),\n list: cf((lng, opt) => {\n const formatter = new Intl.ListFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n })\n };\n }\n add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n format(value, format, lng, options = {}) {\n const formats = format.split(this.formatSeparator);\n if (formats.length > 1 && formats[0].indexOf('(') > 1 && formats[0].indexOf(')') < 0 && formats.find(f => f.indexOf(')') > -1)) {\n const lastIndex = formats.findIndex(f => f.indexOf(')') > -1);\n formats[0] = [formats[0], ...formats.splice(1, lastIndex)].join(this.formatSeparator);\n }\n const result = formats.reduce((mem, f) => {\n const {\n formatName,\n formatOptions\n } = parseFormatStr(f);\n if (this.formats[formatName]) {\n let formatted = mem;\n try {\n const valOptions = options?.formatParams?.[options.interpolationkey] || {};\n const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = this.formats[formatName](mem, l, {\n ...formatOptions,\n ...options,\n ...valOptions\n });\n } catch (error) {\n this.logger.warn(error);\n }\n return formatted;\n } else {\n this.logger.warn(`there was no format function for ${formatName}`);\n }\n return mem;\n }, value);\n return result;\n }\n}\n\nconst removePending = (q, name) => {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n};\nclass Connector extends EventEmitter {\n constructor(backend, store, services, options = {}) {\n super();\n this.backend = backend;\n this.store = store;\n this.services = services;\n this.languageUtils = services.languageUtils;\n this.options = options;\n this.logger = baseLogger.create('backendConnector');\n this.waitingReads = [];\n this.maxParallelReads = options.maxParallelReads || 10;\n this.readingCalls = 0;\n this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n this.state = {};\n this.queue = [];\n this.backend?.init?.(services, options.backend, options);\n }\n queueLoad(languages, namespaces, options, callback) {\n const toLoad = {};\n const pending = {};\n const toLoadLanguages = {};\n const toLoadNamespaces = {};\n languages.forEach(lng => {\n let hasAllNamespaces = true;\n namespaces.forEach(ns => {\n const name = `${lng}|${ns}`;\n if (!options.reload && this.store.hasResourceBundle(lng, ns)) {\n this.state[name] = 2;\n } else if (this.state[name] < 0) ; else if (this.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n this.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n loaded(name, err, data) {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (!err && data) {\n this.store.addResourceBundle(lng, ns, data, undefined, undefined, {\n skipCopy: true\n });\n }\n this.state[name] = err ? -1 : 2;\n if (err && data) this.state[name] = 0;\n const loaded = {};\n this.queue.forEach(q => {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(l => {\n if (!loaded[l]) loaded[l] = {};\n const loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(n => {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(q => !q.done);\n }\n read(lng, ns, fcName, tried = 0, wait = this.retryTimeout, callback) {\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng,\n ns,\n fcName,\n tried,\n wait,\n callback\n });\n return;\n }\n this.readingCalls++;\n const resolver = (err, data) => {\n this.readingCalls--;\n if (this.waitingReads.length > 0) {\n const next = this.waitingReads.shift();\n this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < this.maxRetries) {\n setTimeout(() => {\n this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n const fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n const r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(data => resolver(null, data)).catch(resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n prepareLoading(languages, namespaces, options = {}, callback) {\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (isString(languages)) languages = this.languageUtils.toResolveHierarchy(languages);\n if (isString(namespaces)) namespaces = [namespaces];\n const toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(name => {\n this.loadOne(name);\n });\n }\n load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n loadOne(name, prefix = '') {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, (err, data) => {\n if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err);\n if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data);\n this.loaded(name, err, data);\n });\n }\n saveMissing(languages, namespace, key, fallbackValue, isUpdate, options = {}, clb = () => {}) {\n if (this.services?.utils?.hasLoadedNamespace && !this.services?.utils?.hasLoadedNamespace(namespace)) {\n this.logger.warn(`did not save key \"${key}\" as the namespace \"${namespace}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend?.create) {\n const opts = {\n ...options,\n isUpdate\n };\n const fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n let r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(data => clb(null, data)).catch(clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n}\n\nconst get = () => ({\n debug: false,\n initAsync: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: false,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: args => {\n let ret = {};\n if (typeof args[1] === 'object') ret = args[1];\n if (isString(args[1])) ret.defaultValue = args[1];\n if (isString(args[2])) ret.tDescription = args[2];\n if (typeof args[2] === 'object' || typeof args[3] === 'object') {\n const options = args[3] || args[2];\n Object.keys(options).forEach(key => {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: value => value,\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n },\n cacheInBuiltFormats: true\n});\nconst transformOptions = options => {\n if (isString(options.ns)) options.ns = [options.ns];\n if (isString(options.fallbackLng)) options.fallbackLng = [options.fallbackLng];\n if (isString(options.fallbackNS)) options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs?.indexOf?.('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n if (typeof options.initImmediate === 'boolean') options.initAsync = options.initImmediate;\n return options;\n};\n\nconst noop = () => {};\nconst bindMemberFunctions = inst => {\n const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(mem => {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n};\nclass I18n extends EventEmitter {\n constructor(options = {}, callback) {\n super();\n this.options = transformOptions(options);\n this.services = {};\n this.logger = baseLogger;\n this.modules = {\n external: []\n };\n bindMemberFunctions(this);\n if (callback && !this.isInitialized && !options.isClone) {\n if (!this.options.initAsync) {\n this.init(options, callback);\n return this;\n }\n setTimeout(() => {\n this.init(options, callback);\n }, 0);\n }\n }\n init(options = {}, callback) {\n this.isInitializing = true;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (options.defaultNS == null && options.ns) {\n if (isString(options.ns)) {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n const defOpts = get();\n this.options = {\n ...defOpts,\n ...this.options,\n ...transformOptions(options)\n };\n this.options.interpolation = {\n ...defOpts.interpolation,\n ...this.options.interpolation\n };\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n const createClassOnDemand = ClassOrObject => {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n };\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n let formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else {\n formatter = Formatter;\n }\n const lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n const s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n const usingLegacyFormatFunction = this.options.interpolation.format && this.options.interpolation.format !== defOpts.interpolation.format;\n if (usingLegacyFormatFunction) {\n this.logger.deprecate(`init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting`);\n }\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n if (s.formatter.init) s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', (event, ...args) => {\n this.emit(event, ...args);\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', (event, ...args) => {\n this.emit(event, ...args);\n });\n this.modules.external.forEach(m => {\n if (m.init) m.init(this);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(fcName => {\n this[fcName] = (...args) => this.store[fcName](...args);\n });\n const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(fcName => {\n this[fcName] = (...args) => {\n this.store[fcName](...args);\n return this;\n };\n });\n const deferred = defer();\n const load = () => {\n const finish = (err, t) => {\n this.isInitializing = false;\n if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!');\n this.isInitialized = true;\n if (!this.options.isClone) this.logger.log('initialized', this.options);\n this.emit('initialized', this.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (this.languages && !this.isInitialized) return finish(null, this.t.bind(this));\n this.changeLanguage(this.options.lng, finish);\n };\n if (this.options.resources || !this.options.initAsync) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n loadResources(language, callback = noop) {\n let usedCallback = callback;\n const usedLng = isString(language) ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng?.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback();\n const toLoad = [];\n const append = lng => {\n if (!lng) return;\n if (lng === 'cimode') return;\n const lngs = this.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(l => {\n if (l === 'cimode') return;\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(l => append(l));\n } else {\n append(usedLng);\n }\n this.options.preload?.forEach?.(l => append(l));\n this.services.backendConnector.load(toLoad, this.options.ns, e => {\n if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n reloadResources(lngs, ns, callback) {\n const deferred = defer();\n if (typeof lngs === 'function') {\n callback = lngs;\n lngs = undefined;\n }\n if (typeof ns === 'function') {\n callback = ns;\n ns = undefined;\n }\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, err => {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (let li = 0; li < this.languages.length; li++) {\n const lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n if (!this.resolvedLanguage && this.languages.indexOf(l) < 0 && this.store.hasLanguageSomeTranslations(l)) {\n this.resolvedLanguage = l;\n this.languages.unshift(l);\n }\n }\n changeLanguage(lng, callback) {\n this.isLanguageChangingTo = lng;\n const deferred = defer();\n this.emit('languageChanging', lng);\n const setLngProps = l => {\n this.language = l;\n this.languages = this.services.languageUtils.toResolveHierarchy(l);\n this.resolvedLanguage = undefined;\n this.setResolvedLanguage(l);\n };\n const done = (err, l) => {\n if (l) {\n if (this.isLanguageChangingTo === lng) {\n setLngProps(l);\n this.translator.changeLanguage(l);\n this.isLanguageChangingTo = undefined;\n this.emit('languageChanged', l);\n this.logger.log('languageChanged', l);\n }\n } else {\n this.isLanguageChangingTo = undefined;\n }\n deferred.resolve((...args) => this.t(...args));\n if (callback) callback(err, (...args) => this.t(...args));\n };\n const setLng = lngs => {\n if (!lng && !lngs && this.services.languageDetector) lngs = [];\n const fl = isString(lngs) ? lngs : lngs && lngs[0];\n const l = this.store.hasLanguageSomeTranslations(fl) ? fl : this.services.languageUtils.getBestMatchFromCodes(isString(lngs) ? [lngs] : lngs);\n if (l) {\n if (!this.language) {\n setLngProps(l);\n }\n if (!this.translator.language) this.translator.changeLanguage(l);\n this.services.languageDetector?.cacheUserLanguage?.(l);\n }\n this.loadResources(l, err => {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n getFixedT(lng, ns, keyPrefix) {\n const fixedT = (key, opts, ...rest) => {\n let o;\n if (typeof opts !== 'object') {\n o = this.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n o = {\n ...opts\n };\n }\n o.lng = o.lng || fixedT.lng;\n o.lngs = o.lngs || fixedT.lngs;\n o.ns = o.ns || fixedT.ns;\n if (o.keyPrefix !== '') o.keyPrefix = o.keyPrefix || keyPrefix || fixedT.keyPrefix;\n const keySeparator = this.options.keySeparator || '.';\n let resultKey;\n if (o.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(k => {\n if (typeof k === 'function') k = keysFromSelector(k, {\n ...this.options,\n ...opts\n });\n return `${o.keyPrefix}${keySeparator}${k}`;\n });\n } else {\n if (typeof key === 'function') key = keysFromSelector(key, {\n ...this.options,\n ...opts\n });\n resultKey = o.keyPrefix ? `${o.keyPrefix}${keySeparator}${key}` : key;\n }\n return this.t(resultKey, o);\n };\n if (isString(lng)) {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n t(...args) {\n return this.translator?.translate(...args);\n }\n exists(...args) {\n return this.translator?.exists(...args);\n }\n setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n hasLoadedNamespace(ns, options = {}) {\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n const lng = options.lng || this.resolvedLanguage || this.languages[0];\n const fallbackLng = this.options ? this.options.fallbackLng : false;\n const lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n const loadNotPending = (l, n) => {\n const loadState = this.services.backendConnector.state[`${l}|${n}`];\n return loadState === -1 || loadState === 0 || loadState === 2;\n };\n if (options.precheck) {\n const preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n loadNamespaces(ns, callback) {\n const deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (isString(ns)) ns = [ns];\n ns.forEach(n => {\n if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n);\n });\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n loadLanguages(lngs, callback) {\n const deferred = defer();\n if (isString(lngs)) lngs = [lngs];\n const preloaded = this.options.preload || [];\n const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0 && this.services.languageUtils.isSupportedCode(lng));\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages?.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n try {\n const l = new Intl.Locale(lng);\n if (l && l.getTextInfo) {\n const ti = l.getTextInfo();\n if (ti && ti.direction) return ti.direction;\n }\n } catch (e) {}\n const rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n const languageUtils = this.services?.languageUtils || new LanguageUtil(get());\n if (lng.toLowerCase().indexOf('-latn') > 1) return 'ltr';\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n static createInstance(options = {}, callback) {\n return new I18n(options, callback);\n }\n cloneInstance(options = {}, callback = noop) {\n const forkResourceStore = options.forkResourceStore;\n if (forkResourceStore) delete options.forkResourceStore;\n const mergedOptions = {\n ...this.options,\n ...options,\n ...{\n isClone: true\n }\n };\n const clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n const membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(m => {\n clone[m] = this[m];\n });\n clone.services = {\n ...this.services\n };\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n if (forkResourceStore) {\n const clonedData = Object.keys(this.store.data).reduce((prev, l) => {\n prev[l] = {\n ...this.store.data[l]\n };\n prev[l] = Object.keys(prev[l]).reduce((acc, n) => {\n acc[n] = {\n ...prev[l][n]\n };\n return acc;\n }, prev[l]);\n return prev;\n }, {});\n clone.store = new ResourceStore(clonedData, mergedOptions);\n clone.services.resourceStore = clone.store;\n }\n clone.translator = new Translator(clone.services, mergedOptions);\n clone.translator.on('*', (event, ...args) => {\n clone.emit(event, ...args);\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = mergedOptions;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n}\nconst instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nconst createInstance = instance.createInstance;\nconst dir = instance.dir;\nconst init = instance.init;\nconst loadResources = instance.loadResources;\nconst reloadResources = instance.reloadResources;\nconst use = instance.use;\nconst changeLanguage = instance.changeLanguage;\nconst getFixedT = instance.getFixedT;\nconst t = instance.t;\nconst exists = instance.exists;\nconst setDefaultNamespace = instance.setDefaultNamespace;\nconst hasLoadedNamespace = instance.hasLoadedNamespace;\nconst loadNamespaces = instance.loadNamespaces;\nconst loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, keysFromSelector as keyFromSelector, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","const {\n slice,\n forEach\n} = [];\nfunction defaults(obj) {\n forEach.call(slice.call(arguments, 1), source => {\n if (source) {\n for (const prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\nfunction hasXSS(input) {\n if (typeof input !== 'string') return false;\n\n // Common XSS attack patterns\n const xssPatterns = [/<\\s*script.*?>/i, /<\\s*\\/\\s*script\\s*>/i, /<\\s*img.*?on\\w+\\s*=/i, /<\\s*\\w+\\s*on\\w+\\s*=.*?>/i, /javascript\\s*:/i, /vbscript\\s*:/i, /expression\\s*\\(/i, /eval\\s*\\(/i, /alert\\s*\\(/i, /document\\.cookie/i, /document\\.write\\s*\\(/i, /window\\.location/i, /innerHTML/i];\n return xssPatterns.some(pattern => pattern.test(input));\n}\n\n// eslint-disable-next-line no-control-regex\nconst fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\nconst serializeCookie = function (name, val) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n path: '/'\n };\n const opt = options;\n const value = encodeURIComponent(val);\n let str = `${name}=${value}`;\n if (opt.maxAge > 0) {\n const maxAge = opt.maxAge - 0;\n if (Number.isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += `; Max-Age=${Math.floor(maxAge)}`;\n }\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n str += `; Domain=${opt.domain}`;\n }\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n str += `; Path=${opt.path}`;\n }\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n str += `; Expires=${opt.expires.toUTCString()}`;\n }\n if (opt.httpOnly) str += '; HttpOnly';\n if (opt.secure) str += '; Secure';\n if (opt.sameSite) {\n const sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n if (opt.partitioned) str += '; Partitioned';\n return str;\n};\nconst cookie = {\n create(name, value, minutes, domain) {\n let cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n path: '/',\n sameSite: 'strict'\n };\n if (minutes) {\n cookieOptions.expires = new Date();\n cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000);\n }\n if (domain) cookieOptions.domain = domain;\n document.cookie = serializeCookie(name, value, cookieOptions);\n },\n read(name) {\n const nameEQ = `${name}=`;\n const ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n },\n remove(name, domain) {\n this.create(name, '', -1, domain);\n }\n};\nvar cookie$1 = {\n name: 'cookie',\n // Deconstruct the options object and extract the lookupCookie property\n lookup(_ref) {\n let {\n lookupCookie\n } = _ref;\n if (lookupCookie && typeof document !== 'undefined') {\n return cookie.read(lookupCookie) || undefined;\n }\n return undefined;\n },\n // Deconstruct the options object and extract the lookupCookie, cookieMinutes, cookieDomain, and cookieOptions properties\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupCookie,\n cookieMinutes,\n cookieDomain,\n cookieOptions\n } = _ref2;\n if (lookupCookie && typeof document !== 'undefined') {\n cookie.create(lookupCookie, lng, cookieMinutes, cookieDomain, cookieOptions);\n }\n }\n};\n\nvar querystring = {\n name: 'querystring',\n // Deconstruct the options object and extract the lookupQuerystring property\n lookup(_ref) {\n let {\n lookupQuerystring\n } = _ref;\n let found;\n if (typeof window !== 'undefined') {\n let {\n search\n } = window.location;\n if (!window.location.search && window.location.hash?.indexOf('?') > -1) {\n search = window.location.hash.substring(window.location.hash.indexOf('?'));\n }\n const query = search.substring(1);\n const params = query.split('&');\n for (let i = 0; i < params.length; i++) {\n const pos = params[i].indexOf('=');\n if (pos > 0) {\n const key = params[i].substring(0, pos);\n if (key === lookupQuerystring) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n return found;\n }\n};\n\nvar hash = {\n name: 'hash',\n // Deconstruct the options object and extract the lookupHash property and the lookupFromHashIndex property\n lookup(_ref) {\n let {\n lookupHash,\n lookupFromHashIndex\n } = _ref;\n let found;\n if (typeof window !== 'undefined') {\n const {\n hash\n } = window.location;\n if (hash && hash.length > 2) {\n const query = hash.substring(1);\n if (lookupHash) {\n const params = query.split('&');\n for (let i = 0; i < params.length; i++) {\n const pos = params[i].indexOf('=');\n if (pos > 0) {\n const key = params[i].substring(0, pos);\n if (key === lookupHash) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n if (found) return found;\n if (!found && lookupFromHashIndex > -1) {\n const language = hash.match(/\\/([a-zA-Z-]*)/g);\n if (!Array.isArray(language)) return undefined;\n const index = typeof lookupFromHashIndex === 'number' ? lookupFromHashIndex : 0;\n return language[index]?.replace('/', '');\n }\n }\n }\n return found;\n }\n};\n\nlet hasLocalStorageSupport = null;\nconst localStorageAvailable = () => {\n if (hasLocalStorageSupport !== null) return hasLocalStorageSupport;\n try {\n hasLocalStorageSupport = typeof window !== 'undefined' && window.localStorage !== null;\n if (!hasLocalStorageSupport) {\n return false;\n }\n const testKey = 'i18next.translate.boo';\n window.localStorage.setItem(testKey, 'foo');\n window.localStorage.removeItem(testKey);\n } catch (e) {\n hasLocalStorageSupport = false;\n }\n return hasLocalStorageSupport;\n};\nvar localStorage = {\n name: 'localStorage',\n // Deconstruct the options object and extract the lookupLocalStorage property\n lookup(_ref) {\n let {\n lookupLocalStorage\n } = _ref;\n if (lookupLocalStorage && localStorageAvailable()) {\n return window.localStorage.getItem(lookupLocalStorage) || undefined; // Undefined ensures type consistency with the previous version of this function\n }\n return undefined;\n },\n // Deconstruct the options object and extract the lookupLocalStorage property\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupLocalStorage\n } = _ref2;\n if (lookupLocalStorage && localStorageAvailable()) {\n window.localStorage.setItem(lookupLocalStorage, lng);\n }\n }\n};\n\nlet hasSessionStorageSupport = null;\nconst sessionStorageAvailable = () => {\n if (hasSessionStorageSupport !== null) return hasSessionStorageSupport;\n try {\n hasSessionStorageSupport = typeof window !== 'undefined' && window.sessionStorage !== null;\n if (!hasSessionStorageSupport) {\n return false;\n }\n const testKey = 'i18next.translate.boo';\n window.sessionStorage.setItem(testKey, 'foo');\n window.sessionStorage.removeItem(testKey);\n } catch (e) {\n hasSessionStorageSupport = false;\n }\n return hasSessionStorageSupport;\n};\nvar sessionStorage = {\n name: 'sessionStorage',\n lookup(_ref) {\n let {\n lookupSessionStorage\n } = _ref;\n if (lookupSessionStorage && sessionStorageAvailable()) {\n return window.sessionStorage.getItem(lookupSessionStorage) || undefined;\n }\n return undefined;\n },\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupSessionStorage\n } = _ref2;\n if (lookupSessionStorage && sessionStorageAvailable()) {\n window.sessionStorage.setItem(lookupSessionStorage, lng);\n }\n }\n};\n\nvar navigator$1 = {\n name: 'navigator',\n lookup(options) {\n const found = [];\n if (typeof navigator !== 'undefined') {\n const {\n languages,\n userLanguage,\n language\n } = navigator;\n if (languages) {\n // chrome only; not an array, so can't use .push.apply instead of iterating\n for (let i = 0; i < languages.length; i++) {\n found.push(languages[i]);\n }\n }\n if (userLanguage) {\n found.push(userLanguage);\n }\n if (language) {\n found.push(language);\n }\n }\n return found.length > 0 ? found : undefined;\n }\n};\n\nvar htmlTag = {\n name: 'htmlTag',\n // Deconstruct the options object and extract the htmlTag property\n lookup(_ref) {\n let {\n htmlTag\n } = _ref;\n let found;\n const internalHtmlTag = htmlTag || (typeof document !== 'undefined' ? document.documentElement : null);\n if (internalHtmlTag && typeof internalHtmlTag.getAttribute === 'function') {\n found = internalHtmlTag.getAttribute('lang');\n }\n return found;\n }\n};\n\nvar path = {\n name: 'path',\n // Deconstruct the options object and extract the lookupFromPathIndex property\n lookup(_ref) {\n let {\n lookupFromPathIndex\n } = _ref;\n if (typeof window === 'undefined') return undefined;\n const language = window.location.pathname.match(/\\/([a-zA-Z-]*)/g);\n if (!Array.isArray(language)) return undefined;\n const index = typeof lookupFromPathIndex === 'number' ? lookupFromPathIndex : 0;\n return language[index]?.replace('/', '');\n }\n};\n\nvar subdomain = {\n name: 'subdomain',\n lookup(_ref) {\n let {\n lookupFromSubdomainIndex\n } = _ref;\n // If given get the subdomain index else 1\n const internalLookupFromSubdomainIndex = typeof lookupFromSubdomainIndex === 'number' ? lookupFromSubdomainIndex + 1 : 1;\n // get all matches if window.location. is existing\n // first item of match is the match itself and the second is the first group match which should be the first subdomain match\n // is the hostname no public domain get the or option of localhost\n const language = typeof window !== 'undefined' && window.location?.hostname?.match(/^(\\w{2,5})\\.(([a-z0-9-]{1,63}\\.[a-z]{2,6})|localhost)/i);\n\n // if there is no match (null) return undefined\n if (!language) return undefined;\n // return the given group match\n return language[internalLookupFromSubdomainIndex];\n }\n};\n\n// some environments, throws when accessing document.cookie\nlet canCookies = false;\ntry {\n // eslint-disable-next-line no-unused-expressions\n document.cookie;\n canCookies = true;\n // eslint-disable-next-line no-empty\n} catch (e) {}\nconst order = ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag'];\nif (!canCookies) order.splice(1, 1);\nconst getDefaults = () => ({\n order,\n lookupQuerystring: 'lng',\n lookupCookie: 'i18next',\n lookupLocalStorage: 'i18nextLng',\n lookupSessionStorage: 'i18nextLng',\n // cache user language\n caches: ['localStorage'],\n excludeCacheFor: ['cimode'],\n // cookieMinutes: 10,\n // cookieDomain: 'myDomain'\n\n convertDetectedLanguage: l => l\n});\nclass Browser {\n constructor(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.type = 'languageDetector';\n this.detectors = {};\n this.init(services, options);\n }\n init() {\n let services = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n languageUtils: {}\n };\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services;\n this.options = defaults(options, this.options || {}, getDefaults());\n if (typeof this.options.convertDetectedLanguage === 'string' && this.options.convertDetectedLanguage.indexOf('15897') > -1) {\n this.options.convertDetectedLanguage = l => l.replace('-', '_');\n }\n\n // backwards compatibility\n if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex;\n this.i18nOptions = i18nOptions;\n this.addDetector(cookie$1);\n this.addDetector(querystring);\n this.addDetector(localStorage);\n this.addDetector(sessionStorage);\n this.addDetector(navigator$1);\n this.addDetector(htmlTag);\n this.addDetector(path);\n this.addDetector(subdomain);\n this.addDetector(hash);\n }\n addDetector(detector) {\n this.detectors[detector.name] = detector;\n return this;\n }\n detect() {\n let detectionOrder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.options.order;\n let detected = [];\n detectionOrder.forEach(detectorName => {\n if (this.detectors[detectorName]) {\n let lookup = this.detectors[detectorName].lookup(this.options);\n if (lookup && typeof lookup === 'string') lookup = [lookup];\n if (lookup) detected = detected.concat(lookup);\n }\n });\n detected = detected.filter(d => d !== undefined && d !== null && !hasXSS(d)).map(d => this.options.convertDetectedLanguage(d));\n if (this.services && this.services.languageUtils && this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0\n return detected.length > 0 ? detected[0] : null; // a little backward compatibility\n }\n cacheUserLanguage(lng) {\n let caches = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.options.caches;\n if (!caches) return;\n if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return;\n caches.forEach(cacheName => {\n if (this.detectors[cacheName]) this.detectors[cacheName].cacheUserLanguage(lng, this.options);\n });\n }\n}\nBrowser.type = 'languageDetector';\n\nexport { Browser as default };\n","export const config = {\n apiBaseUrl: import.meta.env['VITE_API_BASE_URL'],\n debug: import.meta.env.DEV\n};\n","import { setDefaultOptions } from 'date-fns';\nimport { enGB } from 'date-fns/locale';\nimport i18n from 'i18next';\nimport LanguageDetector from 'i18next-browser-languagedetector';\nimport { initReactI18next } from 'react-i18next';\nimport { config } from './config';\nimport en from './translations/en.json';\nimport nb from './translations/nb.json';\nsetDefaultOptions({ locale: enGB });\n\ni18n\n // detect user language\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\n .use(LanguageDetector)\n // pass the i18n instance to react-i18next.\n .use(initReactI18next)\n // init i18next\n // for all options read: https://www.i18next.com/overview/configuration-options\n .init({\n debug: config.debug,\n fallbackLng: 'en',\n interpolation: {\n escapeValue: false // not needed for react as it escapes by default\n },\n resources: {\n en: {\n translation: en\n },\n nb: {\n tranlation: nb\n }\n }\n });\n\nexport default i18n;\n","/**\n * Logger utility for the SDK\n * Provides consistent logging across the SDK with different log levels\n */\n\nexport type LogLevel = 'debug' | 'info' | 'warn' | 'error';\n\ninterface LoggerOptions {\n prefix?: string;\n enabled?: boolean;\n level?: LogLevel;\n}\n\nconst LOG_LEVELS: Record<LogLevel, number> = {\n debug: 0,\n info: 1,\n warn: 2,\n error: 3\n};\n\nexport class Logger {\n private prefix: string;\n private enabled: boolean;\n private level: LogLevel;\n\n constructor(options: LoggerOptions = {}) {\n this.prefix = options.prefix || 'Nemme SDK';\n this.enabled = options.enabled !== undefined ? options.enabled : true;\n this.level = options.level || 'info';\n }\n\n private shouldLog(level: LogLevel): boolean {\n return this.enabled && LOG_LEVELS[level] >= LOG_LEVELS[this.level];\n }\n\n private formatMessage(message: string): string {\n return `[${this.prefix}] ${message}`;\n }\n\n debug(message: string, ...args: unknown[]): void {\n if (this.shouldLog('debug')) {\n console.debug(this.formatMessage(message), ...args);\n }\n }\n\n info(message: string, ...args: unknown[]): void {\n if (this.shouldLog('info')) {\n console.info(this.formatMessage(message), ...args);\n }\n }\n\n warn(message: string, ...args: unknown[]): void {\n if (this.shouldLog('warn')) {\n console.warn(this.formatMessage(message), ...args);\n }\n }\n\n error(message: string, ...args: unknown[]): void {\n if (this.shouldLog('error')) {\n console.error(this.formatMessage(message), ...args);\n }\n }\n\n // Create a child logger with a new prefix\n child(prefix: string): Logger {\n return new Logger({\n prefix: `${this.prefix}:${prefix}`,\n enabled: this.enabled,\n level: this.level\n });\n }\n\n // Configure logger settings\n configure(options: LoggerOptions): void {\n if (options.prefix !== undefined) {\n this.prefix = options.prefix;\n }\n if (options.enabled !== undefined) {\n this.enabled = options.enabled;\n }\n if (options.level !== undefined) {\n this.level = options.level;\n }\n }\n}\n\n// Create and export a default logger instance\nexport const logger = new Logger();\n","import { config } from '../config';\nimport { logger } from '../utils';\n\n// Create a network-specific logger\nconst networkLogger = logger.child('network');\n\nexport type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';\n\nexport interface RequestOptions {\n method?: HttpMethod;\n headers?: Record<string, string>;\n body?: unknown;\n params?: Record<string, string | number | boolean>;\n timeout?: number;\n}\n\nexport interface HttpResponse<T = unknown> {\n data: T;\n status: number;\n statusText: string;\n headers: Headers;\n ok: boolean;\n error?: {\n message: string;\n details?: unknown;\n };\n}\n\nconst DEFAULT_TIMEOUT = 30000; // 30 seconds\n\n/**\n * Creates a URL with query parameters\n */\nconst createUrl = (endpoint: string, params?: Record<string, string | number | boolean>): string => {\n const url = new URL(endpoint, config.apiBaseUrl);\n\n if (params) {\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n url.searchParams.append(key, String(value));\n }\n });\n }\n\n return url.toString();\n};\n\n/**\n * Global HTTP client for making API requests\n */\nexport const httpClient = {\n /**\n * Make an HTTP request\n */\n async request<T = unknown>(endpoint: string, options: RequestOptions = {}): Promise<HttpResponse<T>> {\n const { method = 'GET', headers = {}, body, params, timeout = DEFAULT_TIMEOUT } = options;\n\n const url = createUrl(endpoint, params);\n\n // Prepare headers with defaults\n const requestHeaders: Record<string, string> = {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n ...headers\n };\n\n // Prepare request options\n const requestOptions: RequestInit = {\n method,\n headers: requestHeaders,\n body: body ? JSON.stringify(body) : undefined\n };\n\n // Create abort controller for timeout\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), timeout);\n requestOptions.signal = controller.signal;\n\n try {\n const response = await fetch(url, requestOptions);\n\n // Parse response data\n let data: T;\n const contentType = response.headers.get('content-type');\n\n if (contentType && contentType.includes('application/json')) {\n data = await response.json();\n } else {\n const text = await response.text();\n try {\n data = JSON.parse(text) as T;\n } catch {\n data = text as unknown as T;\n }\n }\n\n const result: HttpResponse<T> = {\n data,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n ok: response.ok\n };\n\n // Handle error responses but don't throw\n if (!response.ok) {\n const errorMessage = `Request failed with status ${response.status}: ${response.statusText}`;\n networkLogger.error(errorMessage, {\n url,\n method,\n status: response.status,\n data: result.data\n });\n\n result.ok = false;\n result.error = {\n message: errorMessage,\n details: result.data\n };\n } else {\n result.ok = true;\n }\n\n return result;\n } catch (error) {\n // Log the error but don't throw\n let errorMessage = 'Network request failed';\n let errorDetails = {};\n\n if (error instanceof DOMException && error.name === 'AbortError') {\n errorMessage = `Request timeout after ${timeout}ms`;\n errorDetails = { timeout, url };\n } else {\n errorDetails = {\n message: error instanceof Error ? error.message : String(error),\n url,\n method\n };\n }\n\n networkLogger.error(errorMessage, errorDetails);\n\n // Return an error response instead of throwing\n const errorResponse: HttpResponse<T> = {\n data: {} as T,\n status: 0,\n statusText: errorMessage,\n headers: new Headers(),\n ok: false,\n error: {\n message: errorMessage,\n details: errorDetails\n }\n };\n\n return errorResponse;\n } finally {\n clearTimeout(timeoutId);\n }\n },\n\n /**\n * Convenience methods for common HTTP methods\n */\n async get<T = unknown>(endpoint: string, options: Omit<RequestOptions, 'method'> = {}): Promise<HttpResponse<T>> {\n return this.request<T>(endpoint, { ...options, method: 'GET' });\n },\n\n async post<T = unknown>(\n endpoint: string,\n data?: unknown,\n options: Omit<RequestOptions, 'method' | 'body'> = {}\n ): Promise<HttpResponse<T>> {\n return this.request<T>(endpoint, { ...options, method: 'POST', body: data });\n },\n\n async put<T = unknown>(\n endpoint: string,\n data?: unknown,\n options: Omit<RequestOptions, 'method' | 'body'> = {}\n ): Promise<HttpResponse<T>> {\n return this.request<T>(endpoint, { ...options, method: 'PUT', body: data });\n },\n\n async patch<T = unknown>(\n endpoint: string,\n data?: unknown,\n options: Omit<RequestOptions, 'method' | 'body'> = {}\n ): Promise<HttpResponse<T>> {\n return this.request<T>(endpoint, { ...options, method: 'PATCH', body: data });\n },\n\n async delete<T = unknown>(endpoint: string, options: Omit<RequestOptions, 'method'> = {}): Promise<HttpResponse<T>> {\n return this.request<T>(endpoint, { ...options, method: 'DELETE' });\n }\n};\n","import { createElement } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { I18nextProvider } from 'react-i18next';\nimport { FormWrapper } from '.';\nimport i18n from '../i18n';\nimport { httpClient } from '../networking';\nimport { Logger } from '../utils';\nimport { FormState } from './form-wrapper/form-wrapper';\n\nexport type FormConfig = {\n zIndex?: number;\n theme?: 'light' | 'dark';\n};\n\nexport type FormResponse = {\n id: number;\n questions: QuestionResponse[];\n};\n\ntype QuestionResponse = {\n id: number;\n answer: string | number | number[];\n};\n\nexport class FormManager {\n private logger: Logger;\n private headers: Record<string, string>;\n private config: FormConfig;\n\n constructor(logger: Logger, headers: Record<string, string>, config: FormConfig = {}) {\n this.logger = logger;\n this.headers = headers;\n this.config = config;\n }\n\n public async fetchAndDisplayForm(\n productSlug: string,\n onDismiss: () => Promise<void>,\n onComplete: (formState?: FormState) => Promise<void>\n ): Promise<void> {\n this.logger.debug(`Fetching form config for: ${productSlug}`);\n\n try {\n const response = await httpClient.get<Form>(`/external/forms/${productSlug}`, {\n headers: this.headers\n });\n\n if (response.ok && response.data) {\n this.logger.info(`Form config loaded for: ${productSlug}`, response.data);\n this.displayForm(response.data, onDismiss, onComplete);\n } else {\n this.logger.warn(`No form config found for: ${productSlug}`);\n }\n } catch (error) {\n this.logger.error(`Failed to fetch form config for: ${productSlug}`, error);\n }\n }\n\n private displayForm(form: Form, onDismiss: () => Promise<void>, onComplete: () => Promise<void>) {\n // Create a container div for the form\n const container = document.createElement('div');\n container.id = 'nm';\n document.body.appendChild(container);\n\n // Create React root and render the component\n const root = createRoot(container);\n const formElement = createElement(\n I18nextProvider,\n { i18n },\n createElement(FormWrapper, {\n form,\n onDismiss: async (formState: FormState) => {\n await onDismiss();\n root.unmount();\n container.remove();\n this.logger.info('Form dismissed', formState);\n },\n onComplete: async (formState: FormState) => {\n await onComplete();\n await this.postFormResponse(form, formState);\n root.unmount();\n container.remove();\n this.logger.info('Form completed', formState);\n },\n zIndex: this.config.zIndex\n })\n );\n\n root.render(formElement);\n }\n\n private async postFormResponse(form: Form, formState: FormState) {\n this.logger.info('Posting form response', formState);\n const response = await httpClient.post<FormResponse>(`/external/forms/${form.slug}`, formState, {\n headers: this.headers\n });\n this.logger.info('Form response posted', response.data);\n }\n}\n","import { FormConfig, FormManager } from '../forms/form-manager';\nimport { httpClient } from '../networking';\nimport { Logger } from '../utils';\n\nexport type ProductType = 'FRM' | 'TRK';\n\nexport type Trigger = {\n triggerType: 'page_url' | 'custom_event';\n urlPattern?: string;\n eventKey?: string;\n};\n\nexport type Channel = {\n channelType: string;\n channelStyle: string;\n};\n\nexport type Audience = {\n audienceType: string;\n};\n\nexport type Frequency = {\n frequencyType: string;\n};\n\nexport type Delivery = {\n id: number;\n productSlug: string;\n productType: ProductType;\n triggers: Trigger[];\n // channels: Channel[];\n // audiences: Audience[];\n // frequency: Frequency| null;\n};\n\nexport type DeliveryResponse = {\n id: number;\n shownAt: string;\n wasDismissed: boolean;\n wasCompleted: boolean;\n userId: string;\n respondedAt: string;\n};\n\nexport type TriggerContext = {\n url: string;\n eventKey?: string;\n eventData?: Record<string, unknown>;\n};\n\nexport class DeliveryManager {\n private logger: Logger;\n private headers: Record<string, string>;\n private formManager: FormManager;\n private deliveries: Delivery[] = [];\n\n constructor(logger: Logger, headers: Record<string, string>, formConfig?: FormConfig) {\n this.logger = logger;\n this.headers = headers;\n this.formManager = new FormManager(logger, headers, formConfig);\n }\n\n public async loadDeliveries(): Promise<void> {\n try {\n this.logger.debug('Loading deliveries');\n const response = await httpClient.get<Delivery[]>('/external/deliveries', { headers: this.headers });\n this.deliveries = response.data;\n this.logger.info(`Loaded ${this.deliveries.length} deliveries`);\n } catch (error) {\n this.logger.error('Failed to load deliveries', error);\n // Keep deliveries as empty array on failure\n this.deliveries = [];\n }\n }\n\n public async evaluateDeliveryTriggers(context: TriggerContext): Promise<void> {\n for (const delivery of this.deliveries) {\n for (const trigger of delivery.triggers) {\n if (this.shouldTriggerDelivery(trigger, context)) {\n const deliveryValid = await this.isDeliveryValid(delivery);\n if (!deliveryValid) {\n this.logger.debug(`Delivery ${delivery.id} is not valid, skipping`);\n continue;\n }\n await this.executeDelivery(delivery, trigger);\n return; // Stop after first match\n }\n }\n }\n }\n\n private shouldTriggerDelivery(trigger: Trigger, context: TriggerContext): boolean {\n if (this.hasActiveDelivery()) {\n return false;\n }\n switch (trigger.triggerType) {\n case 'page_url':\n return trigger.urlPattern ? this.matchesUrlPattern(context.url, trigger.urlPattern) : true;\n case 'custom_event':\n return trigger.eventKey ? context.eventKey === trigger.eventKey : false;\n default:\n return false;\n }\n }\n\n private hasActiveDelivery(): boolean {\n return document.getElementById('nm') !== null;\n }\n\n private async executeDelivery(delivery: Delivery, trigger: Trigger): Promise<void> {\n const productType = delivery.productType;\n if (productType === 'FRM') {\n this.logger.debug(`Triggering form delivery: ${delivery.productSlug}`, {\n triggerType: trigger.triggerType,\n urlPattern: trigger.urlPattern,\n eventKey: trigger.eventKey\n });\n\n try {\n const deliveryResponse = await this.createDeliveryResponse(delivery);\n await this.formManager.fetchAndDisplayForm(\n delivery.productSlug,\n async () => {\n this.logger.debug(`Form for delivery: ${delivery.productSlug} was cancelled`);\n if (deliveryResponse) await this.updateDeliveryResponse(delivery.id, deliveryResponse.id, true);\n },\n async () => {\n this.logger.debug(`Form for delivery: ${delivery.productSlug} was completed`);\n if (deliveryResponse) await this.updateDeliveryResponse(delivery.id, deliveryResponse.id, false, true);\n }\n );\n } catch (error) {\n this.logger.error(`Failed to load form for delivery: ${delivery.productSlug}`, error);\n }\n }\n }\n\n private matchesUrlPattern(url: string, pattern: string): boolean {\n // Extract pathname from URL (remove protocol, host, query params, etc.)\n let pathname: string;\n try {\n const urlObj = new URL(url);\n pathname = urlObj.pathname;\n } catch {\n // If URL parsing fails, assume it's already a pathname\n pathname = url.startsWith('/') ? url : `/${url}`;\n }\n\n // Normalize paths: remove trailing slash (except for root) and ensure leading slash\n const normalizePath = (p: string): string => {\n if (!p) return '/';\n let s = p.startsWith('/') ? p : `/${p}`;\n if (s.length > 1 && s.endsWith('/')) s = s.slice(0, -1);\n return s;\n };\n\n const normalizedPathname = normalizePath(pathname);\n const normalizedPattern = normalizePath(pattern);\n\n // Convert glob pattern to regex\n // * matches any characters except /\n // ** matches any characters including /\n const regexPattern = normalizedPattern\n .replace(/\\*\\*/g, '§DOUBLE_STAR§') // Temporary placeholder\n .replace(/\\*/g, '[^/]*') // Single * matches anything except /\n .replace(/§DOUBLE_STAR§/g, '.*') // ** matches anything including /\n .replace(/\\?/g, '.'); // ? matches single character\n\n const regex = new RegExp(`^${regexPattern}$`);\n const result = regex.test(normalizedPathname);\n\n this.logger.debug(`URL pattern matching`, {\n originalUrl: url,\n pathname,\n normalizedPathname,\n pattern,\n normalizedPattern,\n regexPattern,\n matches: result\n });\n\n return result;\n }\n\n private async createDeliveryResponse(delivery: Delivery): Promise<DeliveryResponse | undefined> {\n try {\n const response = await httpClient.post<DeliveryResponse>(\n `/external/deliveries/${delivery.id}/responses`,\n {},\n { headers: this.headers }\n );\n return response.data;\n } catch (error) {\n this.logger.error(`Failed to create delivery response for delivery: ${delivery.id}`, error);\n }\n }\n\n private async updateDeliveryResponse(\n deliveryId: number,\n deliveryResponseId: number,\n dismissed: boolean = false,\n completed: boolean = false\n ): Promise<void> {\n try {\n await httpClient.patch(\n `/external/deliveries/${deliveryId}/responses/${deliveryResponseId}`,\n { wasDismissed: dismissed, wasCompleted: completed },\n { headers: this.headers }\n );\n } catch (error) {\n this.logger.error(`Failed to update delivery response: ${deliveryResponseId} for delivery: ${deliveryId}`, error);\n }\n }\n\n private async isDeliveryValid(delivery: Delivery): Promise<boolean> {\n try {\n const response = await httpClient.get<boolean>(`/external/deliveries/${delivery.id}/should-deliver`, {\n headers: this.headers\n });\n return response.data;\n } catch (error) {\n this.logger.error(`Failed to get delivery should-deliver for delivery: ${delivery.id}`, error);\n return false;\n }\n }\n}\n","import { httpClient } from '../networking';\nimport { Logger } from '../utils';\n\nexport type Config = {\n logger: Logger;\n headers: Record<string, string>;\n sessionId: number;\n eventDefinitions: EventDefinition[];\n batchConfig?: boolean | BatchConfig;\n onPageView?: (url: string) => Promise<void>;\n onEvent?: (event: TrackEventOptions, url: string) => Promise<void>;\n};\n\nexport type BatchConfig = {\n enabled?: boolean;\n size?: number;\n delayMs?: number;\n sendOnUnload?: boolean;\n};\n\nexport type TrackEventOptions<T extends string = string> = {\n eventKey: T;\n data?: Record<string, unknown>;\n};\n\ntype HistoryParams = Parameters<typeof history.pushState>;\n\ntype EventOptions = TrackEventOptions & {\n sessionId: number;\n timestamp: string;\n page: string;\n};\n\ntype EventProperties = {\n name: string;\n type: string;\n};\n\nexport type EventDefinition = {\n properties: EventProperties[];\n eventKey: string;\n};\n\n/**\n * Manages event tracking, batching, and page view tracking\n */\nexport class TrackingManager {\n private logger: Logger;\n private headers: Record<string, string>;\n private sessionId?: number;\n private eventDefinitions: EventDefinition[] = [];\n private onPageView?: (url: string) => Promise<void>;\n private onEvent?: (event: TrackEventOptions, url: string) => Promise<void>;\n\n // Batching\n private backlog: Array<EventOptions> = [];\n private flushTimeout: number | null = null;\n private batchConfig: Required<BatchConfig> = {\n enabled: true,\n size: 10,\n delayMs: 10000, // 10 seconds\n sendOnUnload: true\n };\n\n // Page view tracking\n private originalHistoryMethods: {\n pushState: typeof history.pushState;\n replaceState: typeof history.replaceState;\n } | null = null;\n\n private readonly EVENT_PAGE_VIEW = 'page_view';\n\n constructor({ logger, headers, sessionId, eventDefinitions, batchConfig, onPageView, onEvent }: Config) {\n this.logger = logger;\n this.headers = headers;\n this.sessionId = sessionId;\n this.eventDefinitions = eventDefinitions;\n this.onPageView = onPageView;\n this.onEvent = onEvent;\n\n // Bind methods before setting up event listeners\n this.flushEvents = this.flushEvents.bind(this);\n this.handlePopState = this.handlePopState.bind(this);\n this.handleVisibilityChange = this.handleVisibilityChange.bind(this);\n\n this.setupBatching(batchConfig);\n }\n\n private setupBatching(batchConfig?: boolean | BatchConfig): void {\n if (typeof batchConfig === 'boolean') {\n this.batchConfig.enabled = batchConfig;\n } else if (batchConfig) {\n this.batchConfig = {\n ...this.batchConfig,\n ...batchConfig\n };\n }\n\n // Setup unload handler if batching is enabled\n if (this.batchConfig.enabled && this.batchConfig.sendOnUnload && typeof window !== 'undefined') {\n window.addEventListener('beforeunload', this.flushEvents);\n window.addEventListener('pagehide', this.flushEvents);\n }\n }\n\n public async setupPageViewTracking(): Promise<void> {\n if (typeof window === 'undefined') return;\n\n this.originalHistoryMethods = {\n pushState: history.pushState,\n replaceState: history.replaceState\n };\n\n const originalPushState = history.pushState;\n history.pushState = async (...args: HistoryParams) => {\n originalPushState.apply(history, args);\n await this.trackPageView();\n };\n\n const originalReplaceState = history.replaceState;\n history.replaceState = async (...args: HistoryParams) => {\n originalReplaceState.apply(history, args);\n await this.trackPageView();\n };\n\n window.addEventListener('popstate', this.handlePopState);\n document.addEventListener('visibilitychange', this.handleVisibilityChange);\n }\n\n public async track<T extends TrackEventOptions>(options: T): Promise<void> {\n if (!this.sessionId) {\n this.logger.warn('Tracking manager not initialized, cannot track event');\n return;\n }\n\n const { eventKey, data = {} } = options;\n this.logger.debug('Tracking event', { eventKey, data });\n const url = window.location.href;\n const event: EventOptions = {\n sessionId: this.sessionId,\n eventKey,\n data: data || {},\n timestamp: new Date().toISOString(),\n page: url\n };\n\n this.validateEvent(event);\n\n if (this.batchConfig.enabled) {\n this.backlog.push(event);\n this.scheduleFlush();\n } else {\n await this.sendEvents([event]);\n }\n\n if (eventKey === this.EVENT_PAGE_VIEW) {\n this.onPageView?.(window.location.href);\n } else {\n this.onEvent?.(event, url);\n }\n }\n\n public async trackPageView(): Promise<void> {\n if (typeof window === 'undefined') return;\n\n await this.track({\n eventKey: this.EVENT_PAGE_VIEW,\n data: {\n title: document.title\n }\n });\n }\n\n /**\n * Manually flush any pending events\n */\n public async flush(): Promise<void> {\n return this.flushEvents();\n }\n\n /**\n * Clean up event listeners and restore original history methods\n */\n public destroy(): void {\n if (this.originalHistoryMethods) {\n history.pushState = this.originalHistoryMethods.pushState;\n history.replaceState = this.originalHistoryMethods.replaceState;\n this.originalHistoryMethods = null;\n }\n\n if (typeof window !== 'undefined') {\n window.removeEventListener('popstate', this.handlePopState);\n document.removeEventListener('visibilitychange', this.handleVisibilityChange);\n window.removeEventListener('beforeunload', this.flushEvents);\n window.removeEventListener('pagehide', this.flushEvents);\n }\n\n // Clear any pending flush timeout\n if (this.flushTimeout) {\n clearTimeout(this.flushTimeout);\n this.flushTimeout = null;\n }\n }\n\n private validateEvent(event: EventOptions): void {\n if (event.eventKey === this.EVENT_PAGE_VIEW) return;\n\n const eventDefinition = this.eventDefinitions.find(def => def.eventKey === event.eventKey);\n if (!eventDefinition) {\n this.logger.warn(`Event ${event.eventKey} is not registered`);\n return;\n }\n\n const definedProperties = eventDefinition.properties;\n const eventProperties = event.data;\n if (!eventProperties) return;\n\n for (const eventPropertyKey of Object.keys(eventProperties)) {\n const eventProperty = eventProperties[eventPropertyKey];\n const definedProperty = definedProperties.find(prop => prop.name === eventPropertyKey);\n\n if (!definedProperty) {\n this.logger.warn(`Property ${eventPropertyKey} is not registered for event ${event.eventKey}`);\n return;\n }\n\n if (definedProperty.type === 'string' && typeof eventProperty !== 'string') {\n this.logger.warn(\n `Property ${definedProperty.name} has type ${definedProperty.type} but value is of type ${typeof eventProperty}`\n );\n }\n\n if (definedProperty.type === 'boolean' && typeof eventProperty !== 'boolean') {\n this.logger.warn(\n `Property ${definedProperty.name} has type ${definedProperty.type} but value is of type ${typeof eventProperty}`\n );\n }\n\n if (definedProperty.type === 'number' && typeof eventProperty !== 'number') {\n this.logger.warn(\n `Property ${definedProperty.name} has type ${definedProperty.type} but value is of type ${typeof eventProperty}`\n );\n }\n }\n }\n\n private async handlePopState(): Promise<void> {\n await this.trackPageView();\n }\n\n private async handleVisibilityChange(): Promise<void> {\n if (document.visibilityState === 'visible') {\n await this.trackPageView();\n }\n }\n\n private scheduleFlush(): void {\n if (this.backlog.length >= this.batchConfig.size) {\n this.flushEvents();\n return;\n }\n\n if (!this.flushTimeout) {\n this.flushTimeout = window.setTimeout(() => {\n this.flushEvents();\n }, this.batchConfig.delayMs);\n }\n }\n\n private async flushEvents(): Promise<void> {\n if (this.flushTimeout) {\n clearTimeout(this.flushTimeout);\n this.flushTimeout = null;\n }\n\n if (this.backlog.length === 0) return;\n\n const eventsToSend = [...this.backlog];\n this.backlog = [];\n\n try {\n await this.sendEvents(eventsToSend);\n } catch (error) {\n this.backlog.unshift(...eventsToSend);\n this.logger.error('Failed to send batched events', error);\n }\n }\n\n private async sendEvents(events: Array<EventOptions>): Promise<void> {\n if (events.length === 0) return;\n\n if (events.length === 1) {\n const event = events[0];\n await httpClient.post('/external/trackings/track', event, { headers: this.headers });\n } else {\n await httpClient.post('/external/trackings/batch', events, { headers: this.headers });\n }\n }\n}\n","import { DeliveryManager } from './deliveries/delivery-manager';\nimport { FormConfig } from './forms/form-manager';\nimport { httpClient, HttpResponse } from './networking';\nimport { BatchConfig, EventDefinition, TrackEventOptions, TrackingManager } from './tracking/tracking-manager';\nimport { Logger, logger } from './utils';\n\nexport type ClientConfigType = {\n userIdentifier: string;\n debug?: boolean;\n batch?: boolean | BatchConfig;\n formConfig?: FormConfig;\n};\n\n// Re-export types for backward compatibility\nexport type { BatchConfig, TrackEventOptions } from './tracking/tracking-manager';\n\ntype InitializeResponse = {\n sessionId: number;\n eventDefinitions: EventDefinition[];\n};\n\n/**\n * Main client class for the Nemme SDK\n * Coordinates initialization, tracking, and form management\n */\nexport class NemmeClient {\n clientKey: string;\n userIdentifier?: string;\n initialized = false;\n clientLogger: Logger = logger.child('client');\n headers: Record<string, string> = {};\n formConfig?: FormConfig;\n\n constructor(clientKey: string) {\n this.clientKey = clientKey;\n }\n\n // Module managers\n private trackingManager?: TrackingManager;\n\n /**\n * Create a new Nemme SDK client instance\n */\n public async init({ userIdentifier, debug = false, batch, formConfig }: ClientConfigType): Promise<NemmeClient> {\n if (!userIdentifier) throw new Error('userIdentifier is required parameter');\n this.userIdentifier = userIdentifier;\n\n // Configure logger based on debug setting\n this.clientLogger.configure({\n enabled: debug,\n level: debug ? 'debug' : 'info'\n });\n\n this.headers = {\n 'X-Client-Key': this.clientKey,\n 'X-User-Id': this.userIdentifier\n };\n\n this.formConfig = formConfig;\n\n try {\n const session = await this.initializeSession();\n await this.initializeManagers(session, batch);\n this.initialized = true;\n this.clientLogger.info('Nemme client initialized', {\n clientKey: this.clientKey,\n userIdentifier: this.userIdentifier\n });\n } catch (error) {\n this.clientLogger.error('Error during initialization:', error);\n }\n\n return this;\n }\n\n public async flush(): Promise<void> {\n return this.trackingManager?.flush();\n }\n\n public destroy(): void {\n this.trackingManager?.destroy();\n }\n\n public async track<T extends TrackEventOptions>(options: T): Promise<void> {\n if (!this.initialized || !this.trackingManager) {\n this.clientLogger.warn('Nemme client not initialized, some operations may fail');\n return;\n }\n\n return this.trackingManager.track(options);\n }\n\n private async initializeSession(): Promise<InitializeResponse> {\n try {\n const response: HttpResponse<InitializeResponse> = await httpClient.post(\n '/external/trackings/initialize',\n {},\n { headers: this.headers }\n );\n if (!response.ok) {\n throw new Error(response.error?.message || 'Request for initialising session failed');\n }\n return response.data;\n } catch (error) {\n this.clientLogger.error('Error during initialization', error);\n throw error;\n }\n }\n\n private async initializeManagers(session: InitializeResponse, batchConfig?: boolean | BatchConfig): Promise<void> {\n const deliveryManager = new DeliveryManager(this.clientLogger, this.headers, this.formConfig);\n const trackingManager = new TrackingManager({\n logger: this.clientLogger,\n headers: this.headers,\n sessionId: session.sessionId,\n eventDefinitions: session.eventDefinitions,\n batchConfig,\n onPageView: async (url: string) => {\n await deliveryManager.evaluateDeliveryTriggers({ url });\n },\n onEvent: async (event: TrackEventOptions, url: string) => {\n await deliveryManager.evaluateDeliveryTriggers({ eventKey: event.eventKey, eventData: event.data, url });\n }\n });\n\n await deliveryManager.loadDeliveries();\n\n if (typeof window !== 'undefined') {\n await trackingManager.setupPageViewTracking();\n await trackingManager.trackPageView();\n await trackingManager.flush();\n }\n\n this.trackingManager = trackingManager;\n }\n}\n\nexport const initAsModule = (clientKey: string) => new NemmeClient(clientKey);\n","import { createContext } from 'react';\nimport { NemmeClient } from '../client';\n\nexport interface NemmeContextType {\n client: NemmeClient | null;\n isInitialized: boolean;\n error: string | null;\n}\n\nexport const NemmeContext = createContext<NemmeContextType | undefined>(undefined);\n","import React, { useEffect, useState, ReactNode } from 'react';\nimport { NemmeClient, ClientConfigType } from '../client';\nimport { NemmeContext, NemmeContextType } from './context';\n\ninterface NemmeProviderProps {\n clientKey: string;\n config: ClientConfigType;\n children: ReactNode;\n}\n\nexport const NemmeProvider: React.FC<NemmeProviderProps> = ({ clientKey, config, children }) => {\n const [client, setClient] = useState<NemmeClient | null>(null);\n const [isInitialized, setIsInitialized] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n let currentClient: NemmeClient | null = null;\n let isCancelled = false;\n\n const initializeClient = async () => {\n try {\n const nemmeClient = new NemmeClient(clientKey);\n await nemmeClient.init(config);\n\n // Check if effect was cancelled during async operation\n if (isCancelled) {\n nemmeClient.destroy();\n return;\n }\n\n currentClient = nemmeClient;\n setClient(nemmeClient);\n setIsInitialized(true);\n setError(null);\n } catch (err) {\n if (!isCancelled) {\n setError(err instanceof Error ? err.message : 'Failed to initialize Nemme client');\n setIsInitialized(false);\n }\n }\n };\n\n // Reset state when starting new initialization\n setClient(null);\n setIsInitialized(false);\n setError(null);\n\n initializeClient();\n\n return () => {\n isCancelled = true;\n if (currentClient) {\n currentClient.destroy();\n }\n };\n }, [clientKey, config]);\n\n const value: NemmeContextType = {\n client,\n isInitialized,\n error\n };\n\n return <NemmeContext.Provider value={value}>{children}</NemmeContext.Provider>;\n};\n","import { useContext } from 'react';\nimport { NemmeContext } from './context';\n\nexport const useNemmeContext = () => {\n const context = useContext(NemmeContext);\n if (context === undefined) {\n throw new Error('useNemmeContext must be used within a NemmeProvider');\n }\n return context;\n};\n","import { useCallback } from 'react';\nimport { useNemmeContext } from './useNemmeContext';\nimport { TrackEventOptions } from '../client';\n\nexport const useNemme = () => {\n const { client, isInitialized, error } = useNemmeContext();\n\n const track = useCallback(\n async <T extends TrackEventOptions>(options: T) => {\n if (!client || !isInitialized) {\n console.warn('Nemme client not initialized');\n return;\n }\n return client.track(options);\n },\n [client, isInitialized]\n );\n\n const flush = useCallback(async () => {\n if (!client || !isInitialized) {\n console.warn('Nemme client not initialized');\n return;\n }\n return client.flush();\n }, [client, isInitialized]);\n\n return {\n track,\n flush,\n isInitialized,\n error,\n client\n };\n};\n","import { NemmeClient, initAsModule, type ClientConfigType } from './client';\nimport './i18n';\nimport './index.css';\n\ndeclare global {\n interface Window {\n NemmeSDK: ((clientKey: string) => NemmeClient) & {\n NemmeClient: typeof NemmeClient;\n init: (config: ClientConfigType & { clientKey: string }) => Promise<NemmeClient>;\n };\n }\n}\n\n// Create a default instance factory for global usage\nconst nemme = (clientKey: string) => initAsModule(clientKey);\n\n// Create init function that matches the expected signature\nconst init = async (config: ClientConfigType & { clientKey: string }): Promise<NemmeClient> => {\n const { clientKey, ...clientConfig } = config;\n const client = initAsModule(clientKey);\n return await client.init(clientConfig);\n};\n\n// Create a callable object that also exposes helpers\nconst NemmeSDKCallable = Object.assign((clientKey: string) => nemme(clientKey), {\n NemmeClient,\n init\n});\n\n// Expose to browser globals\nif (typeof window !== 'undefined') {\n window.NemmeSDK = NemmeSDKCallable;\n}\n\nexport { NemmeClient, NemmeSDKCallable as NemmeSDK, NemmeSDKCallable as default };\n\n// Re-export React components for browser usage\nexport { NemmeProvider, useNemme, useNemmeContext } from './react';\n\n// Re-export types for package consumers\nexport type { ClientConfigType, TrackEventOptions } from './client';\n"],"names":["warn","i18n","code","msg","rest","args","isString","alreadyWarned","warnOnce","loadedClb","cb","initialized","loadNamespaces","ns","loadLanguages","lng","n","hasLoadedNamespace","options","i18nInstance","loadNotPending","obj","isObject","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","m","defaultOptions","text","setDefaults","getDefaults","setI18n","instance","getI18n","initReactI18next","I18nContext","createContext","ReportNamespaces","namespaces","usePrevious","value","ignore","ref","useRef","useEffect","alwaysNewT","language","namespace","keyPrefix","useMemoizedT","useCallback","useTranslation","props","i18nFromProps","i18nFromContext","defaultNSFromContext","useContext","notReadyT","k","optsOrDefaultValue","retNotReady","i18nOptions","useSuspense","ready","memoGetT","getT","getNewT","t","setT","useState","joinedNS","previousJoinedNS","isMounted","bindI18n","bindI18nStore","boundReset","e","ret","resolve","I18nextProvider","defaultNS","children","useMemo","createElement","f","require$$0","l","p","q","c","a","g","b","h","reactJsxRuntime_production_min","jsxRuntimeModule","Step","step","form","formState","onDismiss","onNextStep","onPreviousStep","onUpdateResponse","stepInfo","stepOrder","currentOrder","questionIndex","title","description","image","includeOptOut","customStartButton","startButtonText","customOptOutButton","optOutButtonText","jsx","TransitionStart","customEndButton","endButtonText","customEndButtonLink","endButtonLink","TransitionEnd","question","alternatives","maxSelections","required","selectedAlternatives","isValid","QuestionChoice","alternativeIndex","current","updated","i","maxChars","limited","inputText","QuestionText","FormWrapper","onComplete","zIndex","lastStepIndex","setFormState","updateResponse","questionId","answer","prev","navigateToStep","nextStep","completedFormState","previousStep","o","r","s","x","d","w","Fe","he","rt","lr","_e","E","_","nt","or","ht","D","sr","cr","me","lt","ur","xt","$e","z","yr","ye","fr","Cr","je","wr","Er","Fr","mt","Ae","_r","He","kt","st","Q","Te","vt","Ar","Sr","jr","Tr","Rr","u","y","v","C","A","R","P","j","O","H","J","Y","K","I","M","ee","ne","V","le","ke","X","te","ie","fe","ve","oe","re","ue","se","Lr","Dr","Or","Pr","Hr","fa","ha","oa","ca","Ur","Vr","qr","Wr","da","ga","Kr","Jr","ea","ra","Ct","la","Br","Ir","Nr","$r","Mr","zr","Z","Gr","Zr","Yr","Xr","Qr","ta","aa","na","ia","sa","ua","pa","ya","ba","xa","Ne","ma","ka","ct","ut","va","dt","Ca","gt","wa","Ea","Fa","_a","Qt","Aa","Sa","ja","wt","tr","Re","er","Et","yt","Ft","_t","Me","Ra","La","Ba","Da","QuestionWrapper","icon","onPrevious","onNext","onQuit","hasPreviousStep","hasNextStep","jsxs","cx","NText","index","Button","CaretLeftIcon","CaretRightIcon","XIcon","onAlternativeSelect","maxAlternatives","alternative","Option","size","strokeColor","fillColor","selected","viewBoxSize","center","radius","setInputText","maxCharacters","variantToClassName","TransitionWrapper","wrapperClassName","quitText","externalLink","ArrowSquareOutIcon","startText","onStart","getDefaultOptions","setDefaultOptions","newOptions","formatDistanceLocale","formatDistance","token","count","result","tokenValue","buildFormatLongFn","width","formatRelativeLocale","formatRelative","_date","_baseDate","_options","buildLocalizeFn","context","valuesArray","defaultWidth","eraValues","quarterValues","monthValues","dayValues","dayPeriodValues","formattingDayPeriodValues","localize","dirtyNumber","number","rem100","quarter","buildMatchFn","string","matchPattern","matchResult","matchedString","parsePatterns","key","findIndex","pattern","findKey","object","predicate","array","buildMatchPatternFn","parseResult","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","match","property","setInternalDefaultOptions","dateFormats","timeFormats","dateTimeFormats","formatLong","enGB","defer","res","rej","promise","reject","makeString","copy","lastOfPathSeparatorRegExp","cleanKey","canNotTraverseDeeper","getLastOfPath","path","Empty","stack","stackIndex","setPath","newValue","last","pushPath","concat","getPath","getPathWithDefaults","data","defaultData","deepExtend","target","source","overwrite","prop","regexEscape","str","_entityMap","escape","RegExpCache","capacity","regExpFromCache","regExpNew","chars","looksLikeObjectPathRegExpCache","looksLikeObjectPath","nsSeparator","keySeparator","possibleChars","matched","ki","deepFind","tokens","next","nextPath","getCleanedCode","consoleLogger","type","Logger$1","Logger","concreteLogger","lvl","prefix","debugOnly","moduleName","baseLogger","EventEmitter","events","listener","event","numListeners","observer","numTimesAdded","ResourceStore","ignoreJSONStructure","resources","deep","pack","postProcessor","module","processors","translator","processor","PATH_KEY","createProxy","state","handler","proxy","keysFromSelector","selector","opts","checkedLoadedFor","shouldHandleAsObject","Translator","services","opt","wouldCheckForNsInKey","seemsNaturalLanguage","parts","keys","lastKey","returnDetails","appendNamespaceToCIMode","resolved","resUsedKey","resExactUsedKey","noObject","joinArrays","handleAsObjectInI18nFormat","needsPluralHandling","hasDefaultValue","defaultValueSuffix","defaultValueSuffixOrdinalFallback","needsZeroSuffixLookup","defaultValue","resForObjHndl","handleAsObject","resType","resTypeIsArray","newKeyToUse","deepKey","usedDefault","usedKey","resForMissing","updateMissing","fk","lngs","fallbackLngs","send","specificDefaultValue","defaultForMissing","suffixes","suffix","skipOnVariables","nestBef","nb","nestAft","postProcess","postProcessorNames","found","exactUsedKey","usedLng","usedNS","extracted","needsContextHandling","codes","finalKeys","pluralSuffix","zeroSuffix","ordinalPrefix","contextKey","possibleKey","optionsKeys","useOptionsReplaceForData","option","LanguageUtil","formattedCode","cleanedLng","lngScOnly","lngOnly","supportedLng","fallbacks","fallbackCode","fallbackCodes","addCode","fc","suffixesOrder","dummyRule","PluralResolver","languageUtils","cleanedCode","cacheKey","rule","lngPart","pluralCategory1","pluralCategory2","pluralCategory","deepFindWithDefaults","regexSafe","val","Interpolator","escape$1","escapeValue","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapeSuffix","unescapePrefix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","getOrResetRegExp","existingRegExp","replaces","handleFormat","missingInterpolationHandler","todo","matchedVar","temp","safeValue","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","formatters","keyEndIndex","elem","parseFormatStr","formatStr","formatName","formatOptions","optStr","trimmedKey","createCachedFormatter","fn","cache","optForCache","frm","createNonCachedFormatter","Formatter","cf","formatter","name","format","formats","lastIndex","mem","formatted","valOptions","error","removePending","Connector","backend","store","languages","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","err","loaded","loadedKeys","fcName","tried","wait","resolver","fallbackValue","isUpdate","clb","get","transformOptions","noop","bindMemberFunctions","inst","I18n","defOpts","createClassOnDemand","ClassOrObject","lu","deferred","load","finish","usedCallback","append","li","lngInLngs","setLngProps","done","setLng","fl","fixedT","resultKey","fallbackLng","lastLng","loadState","preResult","preloaded","newLngs","ti","rtlLngs","forkResourceStore","mergedOptions","clone","clonedData","acc","slice","forEach","defaults","hasXSS","input","fieldContentRegExp","serializeCookie","maxAge","cookie","minutes","domain","cookieOptions","nameEQ","cookie$1","_ref","lookupCookie","_ref2","cookieMinutes","cookieDomain","querystring","lookupQuerystring","search","params","pos","hash","lookupHash","lookupFromHashIndex","query","hasLocalStorageSupport","localStorageAvailable","testKey","localStorage","lookupLocalStorage","hasSessionStorageSupport","sessionStorageAvailable","sessionStorage","lookupSessionStorage","navigator$1","userLanguage","htmlTag","internalHtmlTag","lookupFromPathIndex","subdomain","lookupFromSubdomainIndex","internalLookupFromSubdomainIndex","canCookies","order","Browser","detector","detectionOrder","detected","detectorName","lookup","caches","cacheName","config","LanguageDetector","en","LOG_LEVELS","level","message","logger","networkLogger","DEFAULT_TIMEOUT","createUrl","endpoint","url","httpClient","method","headers","body","timeout","requestHeaders","requestOptions","controller","timeoutId","response","contentType","errorMessage","errorDetails","FormManager","productSlug","container","root","createRoot","formElement","DeliveryManager","formConfig","delivery","trigger","deliveryResponse","pathname","normalizePath","normalizedPathname","normalizedPattern","regexPattern","deliveryId","deliveryResponseId","dismissed","completed","TrackingManager","sessionId","eventDefinitions","batchConfig","onPageView","onEvent","originalPushState","originalReplaceState","eventKey","eventDefinition","def","definedProperties","eventProperties","eventPropertyKey","eventProperty","definedProperty","eventsToSend","NemmeClient","clientKey","userIdentifier","debug","batch","session","deliveryManager","trackingManager","initAsModule","NemmeContext","NemmeProvider","client","setClient","isInitialized","setIsInitialized","setError","currentClient","isCancelled","initializeClient","nemmeClient","useNemmeContext","useNemme","track","flush","nemme","NemmeSDKCallable","clientConfig"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,29,30,31,32,33,34,35,36,37,38,39,40,41,42]}
1
+ {"version":3,"file":"nemme-sdk.umd.js","sources":["../../node_modules/react-i18next/dist/es/utils.js","../../node_modules/react-i18next/dist/es/unescape.js","../../node_modules/react-i18next/dist/es/defaults.js","../../node_modules/react-i18next/dist/es/i18nInstance.js","../../node_modules/react-i18next/dist/es/initReactI18next.js","../../node_modules/react-i18next/dist/es/context.js","../../node_modules/react-i18next/dist/es/useTranslation.js","../../node_modules/react-i18next/dist/es/I18nextProvider.js","../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../node_modules/react/jsx-runtime.js","../src/forms/form-wrapper/step.tsx","../src/forms/form-wrapper/form-wrapper.tsx","../../node_modules/@phosphor-icons/react/dist/defs/ArrowSquareOut.es.js","../../node_modules/@phosphor-icons/react/dist/defs/CaretLeft.es.js","../../node_modules/@phosphor-icons/react/dist/defs/CaretRight.es.js","../../node_modules/@phosphor-icons/react/dist/defs/X.es.js","../../node_modules/@phosphor-icons/react/dist/lib/context.es.js","../../node_modules/@phosphor-icons/react/dist/lib/IconBase.es.js","../../node_modules/@phosphor-icons/react/dist/csr/ArrowSquareOut.es.js","../../node_modules/@phosphor-icons/react/dist/csr/CaretLeft.es.js","../../node_modules/@phosphor-icons/react/dist/csr/CaretRight.es.js","../../node_modules/@phosphor-icons/react/dist/csr/X.es.js","../../ui-kit/dist/index.es.js","../src/forms/question-wrapper.tsx","../src/forms/question-choice/question-choice.tsx","../src/forms/question-text/question-text.tsx","../src/forms/transition-wrapper.tsx","../src/forms/transition-end/transition-end.tsx","../src/forms/transition-start/transition-start.tsx","../../node_modules/date-fns/_lib/defaultOptions.js","../../node_modules/date-fns/locale/en-US/_lib/formatDistance.js","../../node_modules/date-fns/locale/_lib/buildFormatLongFn.js","../../node_modules/date-fns/locale/en-US/_lib/formatRelative.js","../../node_modules/date-fns/locale/_lib/buildLocalizeFn.js","../../node_modules/date-fns/locale/en-US/_lib/localize.js","../../node_modules/date-fns/locale/_lib/buildMatchFn.js","../../node_modules/date-fns/locale/_lib/buildMatchPatternFn.js","../../node_modules/date-fns/locale/en-US/_lib/match.js","../../node_modules/date-fns/setDefaultOptions.js","../../node_modules/date-fns/locale/en-GB/_lib/formatLong.js","../../node_modules/date-fns/locale/en-GB.js","../../node_modules/i18next/dist/esm/i18next.js","../../node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","../src/config.ts","../src/i18n.ts","../src/utils/logger.ts","../src/networking/httpClient.ts","../src/forms/form-manager.ts","../src/deliveries/delivery-manager.ts","../src/tracking/tracking-manager.ts","../src/client.ts","../src/react/context.ts","../src/react/NemmeProvider.tsx","../src/react/useNemmeContext.ts","../src/react/useNemme.ts","../src/browser.ts"],"sourcesContent":["export const warn = (i18n, code, msg, rest) => {\n const args = [msg, {\n code,\n ...(rest || {})\n }];\n if (i18n?.services?.logger?.forward) {\n return i18n.services.logger.forward(args, 'warn', 'react-i18next::', true);\n }\n if (isString(args[0])) args[0] = `react-i18next:: ${args[0]}`;\n if (i18n?.services?.logger?.warn) {\n i18n.services.logger.warn(...args);\n } else if (console?.warn) {\n console.warn(...args);\n }\n};\nconst alreadyWarned = {};\nexport const warnOnce = (i18n, code, msg, rest) => {\n if (isString(msg) && alreadyWarned[msg]) return;\n if (isString(msg)) alreadyWarned[msg] = new Date();\n warn(i18n, code, msg, rest);\n};\nconst loadedClb = (i18n, cb) => () => {\n if (i18n.isInitialized) {\n cb();\n } else {\n const initialized = () => {\n setTimeout(() => {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n i18n.on('initialized', initialized);\n }\n};\nexport const loadNamespaces = (i18n, ns, cb) => {\n i18n.loadNamespaces(ns, loadedClb(i18n, cb));\n};\nexport const loadLanguages = (i18n, lng, ns, cb) => {\n if (isString(ns)) ns = [ns];\n if (i18n.options.preload && i18n.options.preload.indexOf(lng) > -1) return loadNamespaces(i18n, ns, cb);\n ns.forEach(n => {\n if (i18n.options.ns.indexOf(n) < 0) i18n.options.ns.push(n);\n });\n i18n.loadLanguages(lng, loadedClb(i18n, cb));\n};\nexport const hasLoadedNamespace = (ns, i18n, options = {}) => {\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce(i18n, 'NO_LANGUAGES', 'i18n.languages were undefined or empty', {\n languages: i18n.languages\n });\n return true;\n }\n return i18n.hasLoadedNamespace(ns, {\n lng: options.lng,\n precheck: (i18nInstance, loadNotPending) => {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n};\nexport const getDisplayName = Component => Component.displayName || Component.name || (isString(Component) && Component.length > 0 ? Component : 'Unknown');\nexport const isString = obj => typeof obj === 'string';\nexport const isObject = obj => typeof obj === 'object' && obj !== null;","const matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nconst htmlEntities = {\n '&amp;': '&',\n '&#38;': '&',\n '&lt;': '<',\n '&#60;': '<',\n '&gt;': '>',\n '&#62;': '>',\n '&apos;': \"'\",\n '&#39;': \"'\",\n '&quot;': '\"',\n '&#34;': '\"',\n '&nbsp;': ' ',\n '&#160;': ' ',\n '&copy;': '©',\n '&#169;': '©',\n '&reg;': '®',\n '&#174;': '®',\n '&hellip;': '…',\n '&#8230;': '…',\n '&#x2F;': '/',\n '&#47;': '/'\n};\nconst unescapeHtmlEntity = m => htmlEntities[m];\nexport const unescape = text => text.replace(matchHtmlEntity, unescapeHtmlEntity);","import { unescape } from './unescape.js';\nlet defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape\n};\nexport const setDefaults = (options = {}) => {\n defaultOptions = {\n ...defaultOptions,\n ...options\n };\n};\nexport const getDefaults = () => defaultOptions;","let i18nInstance;\nexport const setI18n = instance => {\n i18nInstance = instance;\n};\nexport const getI18n = () => i18nInstance;","import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport const initReactI18next = {\n type: '3rdParty',\n init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","import { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport const I18nContext = createContext();\nexport class ReportNamespaces {\n constructor() {\n this.usedNamespaces = {};\n }\n addUsedNamespaces(namespaces) {\n namespaces.forEach(ns => {\n if (!this.usedNamespaces[ns]) this.usedNamespaces[ns] = true;\n });\n }\n getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n}\nexport const composeInitialProps = ForComponent => async ctx => {\n const componentsInitialProps = (await ForComponent.getInitialProps?.(ctx)) ?? {};\n const i18nInitialProps = getInitialProps();\n return {\n ...componentsInitialProps,\n ...i18nInitialProps\n };\n};\nexport const getInitialProps = () => {\n const i18n = getI18n();\n const namespaces = i18n.reportNamespaces?.getUsedNamespaces() ?? [];\n const ret = {};\n const initialI18nStore = {};\n i18n.languages.forEach(l => {\n initialI18nStore[l] = {};\n namespaces.forEach(ns => {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n};","import { useState, useEffect, useContext, useRef, useCallback } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context.js';\nimport { warnOnce, loadNamespaces, loadLanguages, hasLoadedNamespace, isString, isObject } from './utils.js';\nconst usePrevious = (value, ignore) => {\n const ref = useRef();\n useEffect(() => {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\nconst alwaysNewT = (i18n, language, namespace, keyPrefix) => i18n.getFixedT(language, namespace, keyPrefix);\nconst useMemoizedT = (i18n, language, namespace, keyPrefix) => useCallback(alwaysNewT(i18n, language, namespace, keyPrefix), [i18n, language, namespace, keyPrefix]);\nexport const useTranslation = (ns, props = {}) => {\n const {\n i18n: i18nFromProps\n } = props;\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n if (!i18n) {\n warnOnce(i18n, 'NO_I18NEXT_INSTANCE', 'useTranslation: You will need to pass in an i18next instance by using initReactI18next');\n const notReadyT = (k, optsOrDefaultValue) => {\n if (isString(optsOrDefaultValue)) return optsOrDefaultValue;\n if (isObject(optsOrDefaultValue) && isString(optsOrDefaultValue.defaultValue)) return optsOrDefaultValue.defaultValue;\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n const retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n if (i18n.options.react?.wait) warnOnce(i18n, 'DEPRECATED_OPTION', 'useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n const i18nOptions = {\n ...getDefaults(),\n ...i18n.options.react,\n ...props\n };\n const {\n useSuspense,\n keyPrefix\n } = i18nOptions;\n let namespaces = ns || defaultNSFromContext || i18n.options?.defaultNS;\n namespaces = isString(namespaces) ? [namespaces] : namespaces || ['translation'];\n i18n.reportNamespaces.addUsedNamespaces?.(namespaces);\n const ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(n => hasLoadedNamespace(n, i18n, i18nOptions));\n const memoGetT = useMemoizedT(i18n, props.lng || null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n const getT = () => memoGetT;\n const getNewT = () => alwaysNewT(i18n, props.lng || null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n const [t, setT] = useState(getT);\n let joinedNS = namespaces.join();\n if (props.lng) joinedNS = `${props.lng}${joinedNS}`;\n const previousJoinedNS = usePrevious(joinedNS);\n const isMounted = useRef(true);\n useEffect(() => {\n const {\n bindI18n,\n bindI18nStore\n } = i18nOptions;\n isMounted.current = true;\n if (!ready && !useSuspense) {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, () => {\n if (isMounted.current) setT(getNewT);\n });\n } else {\n loadNamespaces(i18n, namespaces, () => {\n if (isMounted.current) setT(getNewT);\n });\n }\n }\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getNewT);\n }\n const boundReset = () => {\n if (isMounted.current) setT(getNewT);\n };\n if (bindI18n) i18n?.on(bindI18n, boundReset);\n if (bindI18nStore) i18n?.store.on(bindI18nStore, boundReset);\n return () => {\n isMounted.current = false;\n if (i18n && bindI18n) bindI18n?.split(' ').forEach(e => i18n.off(e, boundReset));\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(e => i18n.store.off(e, boundReset));\n };\n }, [i18n, joinedNS]);\n useEffect(() => {\n if (isMounted.current && ready) {\n setT(getT);\n }\n }, [i18n, keyPrefix, ready]);\n const ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(resolve => {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, () => resolve());\n } else {\n loadNamespaces(i18n, namespaces, () => resolve());\n }\n });\n};","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context.js';\nexport function I18nextProvider({\n i18n,\n defaultNS,\n children\n}) {\n const value = useMemo(() => ({\n i18n,\n defaultNS\n }), [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value\n }, children);\n}","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import { FC } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { QuestionChoice, QuestionText, TransitionEnd, TransitionStart } from '..';\nimport { FormState } from './form-wrapper';\n\ntype Props = {\n step: number;\n form: Form;\n formState: FormState;\n onDismiss: (formState: FormState) => void;\n onNextStep: () => void;\n onPreviousStep: () => void;\n onUpdateResponse: (questionId: number, answer: string | number[]) => void;\n};\n\ntype StepInfo = {\n type: 'start' | 'question' | 'end';\n transition?: StartTransition | EndTransition;\n questionIndex?: number;\n question?: Question;\n hasPreviousStep: boolean;\n hasNextStep: boolean;\n};\n\nexport const Step: FC<Props> = ({ step, form, formState, onDismiss, onNextStep, onPreviousStep, onUpdateResponse }) => {\n const { t } = useTranslation();\n\n // Helper function to determine what type of step we're on\n const getStepInfo = (stepOrder: number): StepInfo => {\n let currentOrder = 0;\n\n // Check if this is the start transition\n if (form.startTransition) {\n if (stepOrder === currentOrder) {\n return {\n type: 'start' as const,\n transition: form.startTransition,\n hasPreviousStep: false,\n hasNextStep: form.questions.length > 0 || !!form.endTransition\n };\n }\n currentOrder++;\n }\n\n // Check if this is a question\n const questionIndex = stepOrder - currentOrder;\n if (questionIndex >= 0 && questionIndex < form.questions.length) {\n return {\n type: 'question' as const,\n questionIndex,\n question: form.questions[questionIndex],\n hasPreviousStep: stepOrder > 0,\n hasNextStep: stepOrder < form.questions.length - 1 || !!form.endTransition\n };\n }\n currentOrder += form.questions.length;\n\n // Check if this is the end transition\n if (form.endTransition && stepOrder === currentOrder) {\n return {\n type: 'end' as const,\n transition: form.endTransition,\n hasPreviousStep: stepOrder > 0,\n hasNextStep: false\n };\n }\n\n throw new Error('Invalid step order');\n };\n\n const stepInfo = getStepInfo(step);\n\n if (stepInfo.type === 'start') {\n const {\n title,\n description,\n image,\n includeOptOut,\n customStartButton,\n startButtonText,\n customOptOutButton,\n optOutButtonText\n } = stepInfo.transition as StartTransition;\n return (\n <TransitionStart\n title={title}\n description={description}\n icon={form.icon}\n image={image}\n quitText={includeOptOut ? (customOptOutButton ? optOutButtonText : t('Quit')) : undefined}\n onQuit={includeOptOut ? () => onDismiss(formState) : undefined}\n startText={customStartButton ? startButtonText : t('Start')}\n onStart={onNextStep}\n />\n );\n }\n\n if (stepInfo.type === 'end') {\n const { title, description, image, customEndButton, endButtonText, customEndButtonLink, endButtonLink } =\n stepInfo.transition as EndTransition;\n return (\n <TransitionEnd\n title={title}\n description={description}\n icon={form.icon}\n image={image}\n quitText={customEndButton ? endButtonText : t('Done')}\n onQuit={onNextStep}\n externalLink={customEndButtonLink ? endButtonLink : undefined}\n />\n );\n }\n\n if (stepInfo.type === 'question') {\n const { question } = stepInfo;\n if (!question) throw new Error('No question found');\n\n if (question.questionType === 'choice') {\n const { title, description, image, alternatives, maxSelections, required } = question as ChoiceQuestion;\n const selectedAlternatives = (formState.responses[question.id] as number[]) || [];\n const isValid =\n (maxSelections ? selectedAlternatives.length <= maxSelections || maxSelections === 4 : true) &&\n (required ? selectedAlternatives.length > 0 : true);\n\n return (\n <QuestionChoice\n title={title}\n description={description}\n image={image}\n alternatives={alternatives}\n onPrevious={onPreviousStep}\n onNext={onNextStep}\n icon={form.icon}\n maxAlternatives={maxSelections}\n onQuit={() => onDismiss(formState)}\n selectedAlternatives={selectedAlternatives}\n onAlternativeSelect={(alternativeIndex: number) => {\n // Handle single or multiple selection based on question config\n const isMultiple = maxSelections > 1;\n if (isMultiple) {\n const current = selectedAlternatives;\n const updated = current.includes(alternativeIndex)\n ? current.filter(i => i !== alternativeIndex)\n : maxSelections && current.length >= maxSelections && maxSelections != 4\n ? current\n : [...current, alternativeIndex];\n onUpdateResponse(question.id, updated);\n } else {\n if (selectedAlternatives.includes(alternativeIndex)) {\n onUpdateResponse(question.id, []);\n } else {\n onUpdateResponse(question.id, [alternativeIndex]);\n }\n }\n }}\n isValid={isValid}\n hasPreviousStep={stepInfo.hasPreviousStep}\n hasNextStep={stepInfo.hasNextStep}\n />\n );\n }\n\n if (question.questionType === 'text') {\n const { title, description, image, maxChars, limited, required } = question as TextQuestion;\n const inputText = (formState.responses[question.id] as string) || '';\n const isValid =\n (limited && maxChars ? inputText.length <= maxChars : true) && (required ? inputText.length > 0 : true);\n\n return (\n <QuestionText\n title={title}\n icon={form.icon}\n description={description}\n onNext={onNextStep}\n onPrevious={onPreviousStep}\n onQuit={() => onDismiss(formState)}\n image={image}\n maxCharacters={limited ? maxChars : undefined}\n inputText={inputText}\n setInputText={(text: string) => {\n if (limited && maxChars && text.length > maxChars) return;\n onUpdateResponse(question.id, text);\n }}\n isValid={isValid}\n hasPreviousStep={stepInfo.hasPreviousStep}\n hasNextStep={stepInfo.hasNextStep}\n />\n );\n }\n }\n\n return null;\n};\n","import { FC, useCallback, useState } from 'react';\nimport { Step } from './step';\n\nexport type FormState = {\n responses: Record<number, string | number[]>; // questionId -> response\n currentStep: number; // Sequential step number\n startedAt: Date;\n completedAt?: Date;\n};\n\nexport type Props = {\n form: Form;\n onDismiss: (formState: FormState) => Promise<void>;\n onComplete: (formState: FormState) => Promise<void>;\n zIndex?: number;\n};\n\nexport const FormWrapper: FC<Props> = ({ form, onDismiss, onComplete, zIndex = 100 }) => {\n // Calculate total steps: startTransition + questions + endTransition\n const totalSteps = (form.startTransition ? 1 : 0) + form.questions.length + (form.endTransition ? 1 : 0);\n const lastStepIndex = totalSteps - 1;\n\n const [formState, setFormState] = useState<FormState>({\n responses: {},\n currentStep: 0,\n startedAt: new Date()\n });\n\n const updateResponse = useCallback((questionId: number, answer: string | number[]) => {\n setFormState(prev => ({\n ...prev,\n responses: {\n ...prev.responses,\n [questionId]: answer\n }\n }));\n }, []);\n\n const navigateToStep = useCallback((stepOrder: number) => {\n setFormState(prev => ({\n ...prev,\n currentStep: stepOrder\n }));\n }, []);\n\n const nextStep = useCallback(() => {\n if (formState.currentStep < lastStepIndex) {\n navigateToStep(formState.currentStep + 1);\n } else {\n const completedFormState = {\n ...formState,\n completedAt: new Date()\n };\n onComplete(completedFormState);\n }\n }, [formState, lastStepIndex, navigateToStep, onComplete]);\n\n const previousStep = useCallback(() => {\n if (formState.currentStep > 0) {\n navigateToStep(formState.currentStep - 1);\n }\n }, [formState.currentStep, navigateToStep]);\n return (\n <div\n className=\"flex flex-col justify-center items-center absolute inset-0 bg-overlay-background-default-light dark:bg-overlay-background-default-dark\"\n style={{ zIndex }}\n >\n <Step\n step={formState.currentStep}\n form={form}\n formState={formState}\n onDismiss={onDismiss}\n onNextStep={nextStep}\n onPreviousStep={previousStep}\n onUpdateResponse={updateResponse}\n />\n </div>\n );\n};\n","import * as a from \"react\";\nconst e = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M184,80V208a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H176A8,8,0,0,1,184,80Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M192,136v72a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V80A16,16,0,0,1,48,64h72a8,8,0,0,1,0,16H48V208H176V136a8,8,0,0,1,16,0Zm32-96a8,8,0,0,0-8-8H152a8,8,0,0,0-5.66,13.66L172.69,72l-42.35,42.34a8,8,0,0,0,11.32,11.32L184,83.31l26.34,26.35A8,8,0,0,0,224,104Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M222,104a6,6,0,0,1-12,0V54.49l-69.75,69.75a6,6,0,0,1-8.48-8.48L201.51,46H152a6,6,0,0,1,0-12h64a6,6,0,0,1,6,6Zm-38,26a6,6,0,0,0-6,6v72a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V80a2,2,0,0,1,2-2h72a6,6,0,0,0,0-12H48A14,14,0,0,0,34,80V208a14,14,0,0,0,14,14H176a14,14,0,0,0,14-14V136A6,6,0,0,0,184,130Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M220,104a4,4,0,0,1-8,0V49.66l-73.16,73.17a4,4,0,0,1-5.66-5.66L206.34,44H152a4,4,0,0,1,0-8h64a4,4,0,0,1,4,4Zm-36,28a4,4,0,0,0-4,4v72a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V80a4,4,0,0,1,4-4h72a4,4,0,0,0,0-8H48A12,12,0,0,0,36,80V208a12,12,0,0,0,12,12H176a12,12,0,0,0,12-12V136A4,4,0,0,0,184,132Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M168.49,199.51a12,12,0,0,1-17,17l-80-80a12,12,0,0,1,0-17l80-80a12,12,0,0,1,17,17L97,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M160,48V208L80,128Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M163.06,40.61a8,8,0,0,0-8.72,1.73l-80,80a8,8,0,0,0,0,11.32l80,80A8,8,0,0,0,168,208V48A8,8,0,0,0,163.06,40.61ZM152,188.69,91.31,128,152,67.31Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M168,48V208a8,8,0,0,1-13.66,5.66l-80-80a8,8,0,0,1,0-11.32l80-80A8,8,0,0,1,168,48Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M164.24,203.76a6,6,0,1,1-8.48,8.48l-80-80a6,6,0,0,1,0-8.48l80-80a6,6,0,0,1,8.48,8.48L88.49,128Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M165.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L91.31,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M162.83,205.17a4,4,0,0,1-5.66,5.66l-80-80a4,4,0,0,1,0-5.66l80-80a4,4,0,1,1,5.66,5.66L85.66,128Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as e from \"react\";\nconst t = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M184.49,136.49l-80,80a12,12,0,0,1-17-17L159,128,87.51,56.49a12,12,0,1,1,17-17l80,80A12,12,0,0,1,184.49,136.49Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M176,128,96,208V48Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M181.66,122.34l-80-80A8,8,0,0,0,88,48V208a8,8,0,0,0,13.66,5.66l80-80A8,8,0,0,0,181.66,122.34ZM104,188.69V67.31L164.69,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M181.66,133.66l-80,80A8,8,0,0,1,88,208V48a8,8,0,0,1,13.66-5.66l80,80A8,8,0,0,1,181.66,133.66Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M180.24,132.24l-80,80a6,6,0,0,1-8.48-8.48L167.51,128,91.76,52.24a6,6,0,0,1,8.48-8.48l80,80A6,6,0,0,1,180.24,132.24Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M178.83,130.83l-80,80a4,4,0,0,1-5.66-5.66L170.34,128,93.17,50.83a4,4,0,0,1,5.66-5.66l80,80A4,4,0,0,1,178.83,130.83Z\" }))\n ]\n]);\nexport {\n t as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\n \"path\",\n {\n d: \"M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ e.createElement(\"path\", { d: \"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM181.66,170.34a8,8,0,0,1-11.32,11.32L128,139.31,85.66,181.66a8,8,0,0,1-11.32-11.32L116.69,128,74.34,85.66A8,8,0,0,1,85.66,74.34L128,116.69l42.34-42.35a8,8,0,0,1,11.32,11.32L139.31,128Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M204.24,195.76a6,6,0,1,1-8.48,8.48L128,136.49,60.24,204.24a6,6,0,0,1-8.48-8.48L119.51,128,51.76,60.24a6,6,0,0,1,8.48-8.48L128,119.51l67.76-67.75a6,6,0,0,1,8.48,8.48L136.49,128Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M202.83,197.17a4,4,0,0,1-5.66,5.66L128,133.66,58.83,202.83a4,4,0,0,1-5.66-5.66L122.34,128,53.17,58.83a4,4,0,0,1,5.66-5.66L128,122.34l69.17-69.17a4,4,0,1,1,5.66,5.66L133.66,128Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import { createContext as r } from \"react\";\nconst o = r({\n color: \"currentColor\",\n size: \"1em\",\n weight: \"regular\",\n mirrored: !1\n});\nexport {\n o as IconContext\n};\n","import * as e from \"react\";\nimport { IconContext as h } from \"./context.es.js\";\nconst p = e.forwardRef(\n (s, a) => {\n const {\n alt: n,\n color: r,\n size: t,\n weight: o,\n mirrored: c,\n children: i,\n weights: m,\n ...x\n } = s, {\n color: d = \"currentColor\",\n size: l,\n weight: f = \"regular\",\n mirrored: g = !1,\n ...w\n } = e.useContext(h);\n return /* @__PURE__ */ e.createElement(\n \"svg\",\n {\n ref: a,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: t != null ? t : l,\n height: t != null ? t : l,\n fill: r != null ? r : d,\n viewBox: \"0 0 256 256\",\n transform: c || g ? \"scale(-1, 1)\" : void 0,\n ...w,\n ...x\n },\n !!n && /* @__PURE__ */ e.createElement(\"title\", null, n),\n i,\n m.get(o != null ? o : f)\n );\n }\n);\np.displayName = \"IconBase\";\nexport {\n p as default\n};\n","import * as r from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport m from \"../defs/ArrowSquareOut.es.js\";\nconst o = r.forwardRef((e, t) => /* @__PURE__ */ r.createElement(a, { ref: t, ...e, weights: m }));\no.displayName = \"ArrowSquareOutIcon\";\nconst n = o;\nexport {\n n as ArrowSquareOut,\n o as ArrowSquareOutIcon\n};\n","import * as e from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport f from \"../defs/CaretLeft.es.js\";\nconst t = e.forwardRef((o, r) => /* @__PURE__ */ e.createElement(a, { ref: r, ...o, weights: f }));\nt.displayName = \"CaretLeftIcon\";\nconst s = t;\nexport {\n s as CaretLeft,\n t as CaretLeftIcon\n};\n","import * as t from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport i from \"../defs/CaretRight.es.js\";\nconst e = t.forwardRef((o, r) => /* @__PURE__ */ t.createElement(a, { ref: r, ...o, weights: i }));\ne.displayName = \"CaretRightIcon\";\nconst s = e;\nexport {\n s as CaretRight,\n e as CaretRightIcon\n};\n","import * as o from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport m from \"../defs/X.es.js\";\nconst e = o.forwardRef((r, t) => /* @__PURE__ */ o.createElement(a, { ref: t, ...r, weights: m }));\ne.displayName = \"XIcon\";\nconst n = e;\nexport {\n n as X,\n e as XIcon\n};\n","import _e, { useState as ge, Fragment as Pe, useRef as $e, useEffect as Se, createElement as Qt, useCallback as Ne, useMemo as gt, forwardRef as er, useContext as tr, createContext as yt } from \"react\";\nimport { IconContext as me, CaretDownIcon as rr, XIcon as ft, MagnifyingGlassIcon as ar, CheckIcon as bt, CopyIcon as nr } from \"@phosphor-icons/react\";\nvar Fe = { exports: {} }, he = {};\n/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar at;\nfunction lr() {\n if (at) return he;\n at = 1;\n var e = _e, t = Symbol.for(\"react.element\"), r = Symbol.for(\"react.fragment\"), i = Object.prototype.hasOwnProperty, c = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, g = { key: !0, ref: !0, __self: !0, __source: !0 };\n function o(b, s, m) {\n var k, h = {}, E = null, _ = null;\n m !== void 0 && (E = \"\" + m), s.key !== void 0 && (E = \"\" + s.key), s.ref !== void 0 && (_ = s.ref);\n for (k in s) i.call(s, k) && !g.hasOwnProperty(k) && (h[k] = s[k]);\n if (b && b.defaultProps) for (k in s = b.defaultProps, s) h[k] === void 0 && (h[k] = s[k]);\n return { $$typeof: t, type: b, key: E, ref: _, props: h, _owner: c.current };\n }\n return he.Fragment = r, he.jsx = o, he.jsxs = o, he;\n}\nvar xe = {};\n/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar nt;\nfunction ir() {\n return nt || (nt = 1, process.env.NODE_ENV !== \"production\" && (function() {\n var e = _e, t = Symbol.for(\"react.element\"), r = Symbol.for(\"react.portal\"), i = Symbol.for(\"react.fragment\"), c = Symbol.for(\"react.strict_mode\"), g = Symbol.for(\"react.profiler\"), o = Symbol.for(\"react.provider\"), b = Symbol.for(\"react.context\"), s = Symbol.for(\"react.forward_ref\"), m = Symbol.for(\"react.suspense\"), k = Symbol.for(\"react.suspense_list\"), h = Symbol.for(\"react.memo\"), E = Symbol.for(\"react.lazy\"), _ = Symbol.for(\"react.offscreen\"), d = Symbol.iterator, u = \"@@iterator\";\n function y(a) {\n if (a === null || typeof a != \"object\")\n return null;\n var x = d && a[d] || a[u];\n return typeof x == \"function\" ? x : null;\n }\n var v = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n function f(a) {\n {\n for (var x = arguments.length, w = new Array(x > 1 ? x - 1 : 0), F = 1; F < x; F++)\n w[F - 1] = arguments[F];\n C(\"error\", a, w);\n }\n }\n function C(a, x, w) {\n {\n var F = v.ReactDebugCurrentFrame, L = F.getStackAddendum();\n L !== \"\" && (x += \"%s\", w = w.concat([L]));\n var B = w.map(function(T) {\n return String(T);\n });\n B.unshift(\"Warning: \" + x), Function.prototype.apply.call(console[a], console, B);\n }\n }\n var A = !1, R = !1, P = !1, j = !1, O = !1, H;\n H = Symbol.for(\"react.module.reference\");\n function J(a) {\n return !!(typeof a == \"string\" || typeof a == \"function\" || a === i || a === g || O || a === c || a === m || a === k || j || a === _ || A || R || P || typeof a == \"object\" && a !== null && (a.$$typeof === E || a.$$typeof === h || a.$$typeof === o || a.$$typeof === b || a.$$typeof === s || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n a.$$typeof === H || a.getModuleId !== void 0));\n }\n function Y(a, x, w) {\n var F = a.displayName;\n if (F)\n return F;\n var L = x.displayName || x.name || \"\";\n return L !== \"\" ? w + \"(\" + L + \")\" : w;\n }\n function q(a) {\n return a.displayName || \"Context\";\n }\n function K(a) {\n if (a == null)\n return null;\n if (typeof a.tag == \"number\" && f(\"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"), typeof a == \"function\")\n return a.displayName || a.name || null;\n if (typeof a == \"string\")\n return a;\n switch (a) {\n case i:\n return \"Fragment\";\n case r:\n return \"Portal\";\n case g:\n return \"Profiler\";\n case c:\n return \"StrictMode\";\n case m:\n return \"Suspense\";\n case k:\n return \"SuspenseList\";\n }\n if (typeof a == \"object\")\n switch (a.$$typeof) {\n case b:\n var x = a;\n return q(x) + \".Consumer\";\n case o:\n var w = a;\n return q(w._context) + \".Provider\";\n case s:\n return Y(a, a.render, \"ForwardRef\");\n case h:\n var F = a.displayName || null;\n return F !== null ? F : K(a.type) || \"Memo\";\n case E: {\n var L = a, B = L._payload, T = L._init;\n try {\n return K(T(B));\n } catch {\n return null;\n }\n }\n }\n return null;\n }\n var I = Object.assign, M = 0, ee, ne, V, ke, X, te, le;\n function ie() {\n }\n ie.__reactDisabledLog = !0;\n function fe() {\n {\n if (M === 0) {\n ee = console.log, ne = console.info, V = console.warn, ke = console.error, X = console.group, te = console.groupCollapsed, le = console.groupEnd;\n var a = {\n configurable: !0,\n enumerable: !0,\n value: ie,\n writable: !0\n };\n Object.defineProperties(console, {\n info: a,\n log: a,\n warn: a,\n error: a,\n group: a,\n groupCollapsed: a,\n groupEnd: a\n });\n }\n M++;\n }\n }\n function ve() {\n {\n if (M--, M === 0) {\n var a = {\n configurable: !0,\n enumerable: !0,\n writable: !0\n };\n Object.defineProperties(console, {\n log: I({}, a, {\n value: ee\n }),\n info: I({}, a, {\n value: ne\n }),\n warn: I({}, a, {\n value: V\n }),\n error: I({}, a, {\n value: ke\n }),\n group: I({}, a, {\n value: X\n }),\n groupCollapsed: I({}, a, {\n value: te\n }),\n groupEnd: I({}, a, {\n value: le\n })\n });\n }\n M < 0 && f(\"disabledDepth fell below zero. This is a bug in React. Please file an issue.\");\n }\n }\n var oe = v.ReactCurrentDispatcher, re;\n function ue(a, x, w) {\n {\n if (re === void 0)\n try {\n throw Error();\n } catch (L) {\n var F = L.stack.trim().match(/\\n( *(at )?)/);\n re = F && F[1] || \"\";\n }\n return `\n` + re + a;\n }\n }\n var se = !1, Ce;\n {\n var At = typeof WeakMap == \"function\" ? WeakMap : Map;\n Ce = new At();\n }\n function Ve(a, x) {\n if (!a || se)\n return \"\";\n {\n var w = Ce.get(a);\n if (w !== void 0)\n return w;\n }\n var F;\n se = !0;\n var L = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n var B;\n B = oe.current, oe.current = null, fe();\n try {\n if (x) {\n var T = function() {\n throw Error();\n };\n if (Object.defineProperty(T.prototype, \"props\", {\n set: function() {\n throw Error();\n }\n }), typeof Reflect == \"object\" && Reflect.construct) {\n try {\n Reflect.construct(T, []);\n } catch (G) {\n F = G;\n }\n Reflect.construct(a, [], T);\n } else {\n try {\n T.call();\n } catch (G) {\n F = G;\n }\n a.call(T.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (G) {\n F = G;\n }\n a();\n }\n } catch (G) {\n if (G && F && typeof G.stack == \"string\") {\n for (var S = G.stack.split(`\n`), U = F.stack.split(`\n`), N = S.length - 1, $ = U.length - 1; N >= 1 && $ >= 0 && S[N] !== U[$]; )\n $--;\n for (; N >= 1 && $ >= 0; N--, $--)\n if (S[N] !== U[$]) {\n if (N !== 1 || $ !== 1)\n do\n if (N--, $--, $ < 0 || S[N] !== U[$]) {\n var W = `\n` + S[N].replace(\" at new \", \" at \");\n return a.displayName && W.includes(\"<anonymous>\") && (W = W.replace(\"<anonymous>\", a.displayName)), typeof a == \"function\" && Ce.set(a, W), W;\n }\n while (N >= 1 && $ >= 0);\n break;\n }\n }\n } finally {\n se = !1, oe.current = B, ve(), Error.prepareStackTrace = L;\n }\n var pe = a ? a.displayName || a.name : \"\", ce = pe ? ue(pe) : \"\";\n return typeof a == \"function\" && Ce.set(a, ce), ce;\n }\n function St(a, x, w) {\n return Ve(a, !1);\n }\n function jt(a) {\n var x = a.prototype;\n return !!(x && x.isReactComponent);\n }\n function we(a, x, w) {\n if (a == null)\n return \"\";\n if (typeof a == \"function\")\n return Ve(a, jt(a));\n if (typeof a == \"string\")\n return ue(a);\n switch (a) {\n case m:\n return ue(\"Suspense\");\n case k:\n return ue(\"SuspenseList\");\n }\n if (typeof a == \"object\")\n switch (a.$$typeof) {\n case s:\n return St(a.render);\n case h:\n return we(a.type);\n case E: {\n var F = a, L = F._payload, B = F._init;\n try {\n return we(B(L));\n } catch {\n }\n }\n }\n return \"\";\n }\n var be = Object.prototype.hasOwnProperty, Ge = {}, qe = v.ReactDebugCurrentFrame;\n function Ee(a) {\n if (a) {\n var x = we(a.type);\n qe.setExtraStackFrame(x);\n } else\n qe.setExtraStackFrame(null);\n }\n function Tt(a, x, w, F, L) {\n {\n var B = Function.call.bind(be);\n for (var T in a)\n if (B(a, T)) {\n var S = void 0;\n try {\n if (typeof a[T] != \"function\") {\n var U = Error((F || \"React class\") + \": \" + w + \" type `\" + T + \"` is invalid; it must be a function, usually from the `prop-types` package, but received `\" + typeof a[T] + \"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");\n throw U.name = \"Invariant Violation\", U;\n }\n S = a[T](x, T, F, w, null, \"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\");\n } catch (N) {\n S = N;\n }\n S && !(S instanceof Error) && (Ee(L), f(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\", F || \"React class\", w, T, typeof S), Ee(null)), S instanceof Error && !(S.message in Ge) && (Ge[S.message] = !0, Ee(L), f(\"Failed %s type: %s\", w, S.message), Ee(null));\n }\n }\n }\n var Rt = Array.isArray;\n function Le(a) {\n return Rt(a);\n }\n function Lt(a) {\n {\n var x = typeof Symbol == \"function\" && Symbol.toStringTag, w = x && a[Symbol.toStringTag] || a.constructor.name || \"Object\";\n return w;\n }\n }\n function Bt(a) {\n try {\n return !1;\n } catch {\n return !0;\n }\n }\n function Dt(a) {\n return \"\" + a;\n }\n function Ze(a) {\n if (Bt())\n return f(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\", Lt(a)), Dt(a);\n }\n var It = v.ReactCurrentOwner, Ot = {\n key: !0,\n ref: !0,\n __self: !0,\n __source: !0\n }, We, Ye;\n function Nt(a) {\n if (be.call(a, \"ref\")) {\n var x = Object.getOwnPropertyDescriptor(a, \"ref\").get;\n if (x && x.isReactWarning)\n return !1;\n }\n return a.ref !== void 0;\n }\n function Pt(a) {\n if (be.call(a, \"key\")) {\n var x = Object.getOwnPropertyDescriptor(a, \"key\").get;\n if (x && x.isReactWarning)\n return !1;\n }\n return a.key !== void 0;\n }\n function $t(a, x) {\n {\n var w = function() {\n We || (We = !0, f(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\", x));\n };\n w.isReactWarning = !0, Object.defineProperty(a, \"key\", {\n get: w,\n configurable: !0\n });\n }\n }\n function Ht(a, x) {\n {\n var w = function() {\n Ye || (Ye = !0, f(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\", x));\n };\n w.isReactWarning = !0, Object.defineProperty(a, \"ref\", {\n get: w,\n configurable: !0\n });\n }\n }\n var Mt = function(a, x, w, F, L, B, T) {\n var S = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: t,\n // Built-in properties that belong on the element\n type: a,\n key: x,\n ref: w,\n props: T,\n // Record the component responsible for creating this element.\n _owner: B\n };\n return S._store = {}, Object.defineProperty(S._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: !1\n }), Object.defineProperty(S, \"_self\", {\n configurable: !1,\n enumerable: !1,\n writable: !1,\n value: F\n }), Object.defineProperty(S, \"_source\", {\n configurable: !1,\n enumerable: !1,\n writable: !1,\n value: L\n }), Object.freeze && (Object.freeze(S.props), Object.freeze(S)), S;\n };\n function Ut(a, x, w, F, L) {\n {\n var B, T = {}, S = null, U = null;\n w !== void 0 && (Ze(w), S = \"\" + w), Pt(x) && (Ze(x.key), S = \"\" + x.key), Nt(x) && (U = x.ref);\n for (B in x)\n be.call(x, B) && !Ot.hasOwnProperty(B) && (T[B] = x[B]);\n if (a && a.defaultProps) {\n var N = a.defaultProps;\n for (B in N)\n T[B] === void 0 && (T[B] = N[B]);\n }\n if (S || U) {\n var $ = typeof a == \"function\" ? a.displayName || a.name || \"Unknown\" : a;\n S && $t(T, $), U && Ht(T, $);\n }\n return Mt(a, S, U, L, F, It.current, T);\n }\n }\n var Be = v.ReactCurrentOwner, Ke = v.ReactDebugCurrentFrame;\n function de(a) {\n if (a) {\n var x = we(a.type);\n Ke.setExtraStackFrame(x);\n } else\n Ke.setExtraStackFrame(null);\n }\n var De;\n De = !1;\n function Ie(a) {\n return typeof a == \"object\" && a !== null && a.$$typeof === t;\n }\n function Xe() {\n {\n if (Be.current) {\n var a = K(Be.current.type);\n if (a)\n return `\n\nCheck the render method of \\`` + a + \"`.\";\n }\n return \"\";\n }\n }\n function zt(a) {\n return \"\";\n }\n var Je = {};\n function Vt(a) {\n {\n var x = Xe();\n if (!x) {\n var w = typeof a == \"string\" ? a : a.displayName || a.name;\n w && (x = `\n\nCheck the top-level render call using <` + w + \">.\");\n }\n return x;\n }\n }\n function Qe(a, x) {\n {\n if (!a._store || a._store.validated || a.key != null)\n return;\n a._store.validated = !0;\n var w = Vt(x);\n if (Je[w])\n return;\n Je[w] = !0;\n var F = \"\";\n a && a._owner && a._owner !== Be.current && (F = \" It was passed a child from \" + K(a._owner.type) + \".\"), de(a), f('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', w, F), de(null);\n }\n }\n function et(a, x) {\n {\n if (typeof a != \"object\")\n return;\n if (Le(a))\n for (var w = 0; w < a.length; w++) {\n var F = a[w];\n Ie(F) && Qe(F, x);\n }\n else if (Ie(a))\n a._store && (a._store.validated = !0);\n else if (a) {\n var L = y(a);\n if (typeof L == \"function\" && L !== a.entries)\n for (var B = L.call(a), T; !(T = B.next()).done; )\n Ie(T.value) && Qe(T.value, x);\n }\n }\n }\n function Gt(a) {\n {\n var x = a.type;\n if (x == null || typeof x == \"string\")\n return;\n var w;\n if (typeof x == \"function\")\n w = x.propTypes;\n else if (typeof x == \"object\" && (x.$$typeof === s || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n x.$$typeof === h))\n w = x.propTypes;\n else\n return;\n if (w) {\n var F = K(x);\n Tt(w, a.props, \"prop\", F, a);\n } else if (x.PropTypes !== void 0 && !De) {\n De = !0;\n var L = K(x);\n f(\"Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?\", L || \"Unknown\");\n }\n typeof x.getDefaultProps == \"function\" && !x.getDefaultProps.isReactClassApproved && f(\"getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.\");\n }\n }\n function qt(a) {\n {\n for (var x = Object.keys(a.props), w = 0; w < x.length; w++) {\n var F = x[w];\n if (F !== \"children\" && F !== \"key\") {\n de(a), f(\"Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.\", F), de(null);\n break;\n }\n }\n a.ref !== null && (de(a), f(\"Invalid attribute `ref` supplied to `React.Fragment`.\"), de(null));\n }\n }\n var tt = {};\n function rt(a, x, w, F, L, B) {\n {\n var T = J(a);\n if (!T) {\n var S = \"\";\n (a === void 0 || typeof a == \"object\" && a !== null && Object.keys(a).length === 0) && (S += \" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\");\n var U = zt();\n U ? S += U : S += Xe();\n var N;\n a === null ? N = \"null\" : Le(a) ? N = \"array\" : a !== void 0 && a.$$typeof === t ? (N = \"<\" + (K(a.type) || \"Unknown\") + \" />\", S = \" Did you accidentally export a JSX literal instead of a component?\") : N = typeof a, f(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\", N, S);\n }\n var $ = Ut(a, x, w, L, B);\n if ($ == null)\n return $;\n if (T) {\n var W = x.children;\n if (W !== void 0)\n if (F)\n if (Le(W)) {\n for (var pe = 0; pe < W.length; pe++)\n et(W[pe], a);\n Object.freeze && Object.freeze(W);\n } else\n f(\"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\");\n else\n et(W, a);\n }\n if (be.call(x, \"key\")) {\n var ce = K(a), G = Object.keys(x).filter(function(Jt) {\n return Jt !== \"key\";\n }), Oe = G.length > 0 ? \"{key: someKey, \" + G.join(\": ..., \") + \": ...}\" : \"{key: someKey}\";\n if (!tt[ce + Oe]) {\n var Xt = G.length > 0 ? \"{\" + G.join(\": ..., \") + \": ...}\" : \"{}\";\n f(`A props object containing a \"key\" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />`, Oe, ce, Xt, ce), tt[ce + Oe] = !0;\n }\n }\n return a === i ? qt($) : Gt($), $;\n }\n }\n function Zt(a, x, w) {\n return rt(a, x, w, !0);\n }\n function Wt(a, x, w) {\n return rt(a, x, w, !1);\n }\n var Yt = Wt, Kt = Zt;\n xe.Fragment = i, xe.jsx = Yt, xe.jsxs = Kt;\n })()), xe;\n}\nvar lt;\nfunction or() {\n return lt || (lt = 1, process.env.NODE_ENV === \"production\" ? Fe.exports = /* @__PURE__ */ lr() : Fe.exports = /* @__PURE__ */ ir()), Fe.exports;\n}\nvar n = /* @__PURE__ */ or();\nconst ht = ({\n variant: e = \"primary\",\n size: t = \"medium\",\n text: r,\n iconBefore: i,\n iconAfter: c,\n className: g,\n disabled: o = !1,\n ...b\n}) => /* @__PURE__ */ n.jsx(\n \"button\",\n {\n className: D(\n \"flex gap-2 justify-center items-center rounded-lg disabled:pointer-events-none\",\n sr(e),\n cr(t),\n g\n ),\n disabled: o,\n ...b,\n children: /* @__PURE__ */ n.jsxs(\n me.Provider,\n {\n value: {\n size: t === \"xsmall\" ? 8 : 16,\n weight: \"regular\",\n className: D(it(e, o))\n },\n children: [\n i && i,\n r && /* @__PURE__ */ n.jsx(\"span\", { className: D(it(e, o), ur(t)), children: r }),\n c && c\n ]\n }\n )\n }\n), sr = (e) => {\n switch (e) {\n case \"primary\":\n return \"border border-grey-0/0 bg-primary-action-button-light dark:bg-primary-action-button-dark hover:bg-primary-action-button-hover-light dark:hover:bg-primary-action-button-hover-dark disabled:bg-primary-action-disabled-light dark:disabled:bg-primary-action-disabled-dark\";\n case \"secondary\":\n return \"border border-grey-0/0 bg-secondary-action-base-light dark:bg-secondary-action-base-dark hover:bg-system-neutral-grey-8-light dark:hover:bg-system-neutral-grey-8-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark\";\n case \"neutral\":\n return \"border border-separator-regular-light dark:border-separator-regular-dark hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark\";\n case \"subtle\":\n return \"border border-grey-0/0 hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark\";\n }\n}, it = (e, t) => {\n if (t) return \"text-label-tertiary-light dark:text-label-tertiary-dark\";\n switch (e) {\n case \"primary\":\n return \"text-nonadaptable-text-light\";\n case \"secondary\":\n return \"text-label-quaternary-light dark:text-label-quaternary-dark\";\n case \"neutral\":\n return \"text-label-primary-light dark:text-label-primary-dark\";\n case \"subtle\":\n return \"text-label-primary-light dark:text-label-primary-dark\";\n }\n}, cr = (e) => {\n switch (e) {\n case \"xsmall\":\n return \"p-1\";\n case \"small\":\n return \"p-2\";\n case \"medium\":\n return \"p-3\";\n }\n}, ur = (e) => {\n switch (e) {\n case \"xsmall\":\n return \"text-[10px] leading-[14px]\";\n case \"small\":\n return \"text-[13px] leading-[14px]\";\n case \"medium\":\n return \"text-[15px] leading-[16px] -tracking-0,1\";\n }\n}, ot = ({ text: e, active: t = !1 }) => /* @__PURE__ */ n.jsx(\n \"div\",\n {\n className: D(\n \"flex p-2 rounded-lg hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark\",\n t && \"bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\"\n ),\n children: /* @__PURE__ */ n.jsx(z, { variant: \"B2Button\", children: e })\n }\n), dr = ({ text: e, selected: t, significance: r, onClick: i }) => /* @__PURE__ */ n.jsx(\n \"button\",\n {\n onClick: i,\n className: D(\n \"flex items-center p-2 border border-grey-0/0\",\n t && \"border-b-label-primary-light dark:border-b-label-primary-dark\"\n ),\n children: /* @__PURE__ */ n.jsx(z, { variant: \"B2Button\", significance: r, children: e })\n }\n), $a = ({\n variant: e = \"primary\",\n size: t = \"medium\",\n text: r,\n iconBefore: i,\n iconAfter: c,\n className: g,\n disabled: o = !1,\n ...b\n}) => {\n const s = !r && (!!i || !!c);\n return /* @__PURE__ */ n.jsx(\n \"button\",\n {\n className: D(\n \"flex gap-2 justify-center items-center group\",\n pr(e),\n gr(t),\n {\n \"rounded-full\": s,\n \"rounded-md\": !s\n },\n g\n ),\n disabled: o,\n ...b,\n children: /* @__PURE__ */ n.jsx(n.Fragment, { children: /* @__PURE__ */ n.jsxs(\n me.Provider,\n {\n value: {\n size: t === \"xsmall\" ? 8 : 16,\n weight: \"regular\",\n className: D(st(e), {\n \"[&]:text-label-tertiary-light dark:[&]:text-label-tertiary-dark group-hover:[&]:text-label-tertiary-light dark:group-hover:[&]:text-label-tertiary-dark\": o\n })\n },\n children: [\n i && i,\n r && /* @__PURE__ */ n.jsx(\n z,\n {\n variant: t === \"xsmall\" ? \"M\" : t === \"small\" ? \"B2Button\" : \"B1Button\",\n className: D(st(e), {\n \"[&]:text-label-tertiary-light dark:[&]:text-label-tertiary-dark group-hover:[&]:text-label-tertiary-light dark:group-hover:[&]:text-label-tertiary-dark\": o\n }),\n children: r\n }\n ),\n c && c\n ]\n }\n ) })\n }\n );\n}, pr = (e) => {\n switch (e) {\n case \"primary\":\n return \"bg-danger-background-light dark:bg-danger-background-dark hover:bg-danger-hover-light dark:hover:bg-danger-hover-dark disabled:bg-primary-action-disabled-light dark:disabled:bg-primary-action-disabled-dark disabled:border disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark\";\n case \"subtle\":\n return \"hover:bg-danger-background-light dark:hover:bg-danger-background-dark border border-[rgba(255,255,255,0.0)] hover:border-danger-accessible-light dark:hover:border-danger-accessible-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark\";\n }\n}, st = (e) => {\n switch (e) {\n case \"primary\":\n return \"[&]:text-danger-accessible-light dark:[&]:text-danger-accessible-dark group-hover:text-label-quaternary-light dark:group-hover:text-label-quaternary-dark\";\n case \"subtle\":\n return \"[&]:text-danger-accessible-light dark:[&]:text-danger-accessible-dark\";\n }\n}, gr = (e) => {\n switch (e) {\n case \"xsmall\":\n return \"p-1\";\n case \"small\":\n return \"p-2\";\n case \"medium\":\n return \"p-3\";\n }\n}, Ha = ({\n label: e,\n selectedKey: t,\n setSelectedKey: r,\n options: i\n}) => {\n const c = i.find((s) => s.key === t), [g, o] = ge(!1), { ref: b } = ze({\n isActive: g,\n onDismiss: () => o(!1)\n });\n return /* @__PURE__ */ n.jsxs(\"div\", { ref: b, className: \"flex flex-col gap-3 pt-4 pb-6\", children: [\n e && /* @__PURE__ */ n.jsx(\n \"div\",\n {\n onClick: () => o(!g),\n \"aria-expanded\": g,\n \"aria-controls\": \"dropdown-menu\",\n role: \"label\",\n className: \"flex cursor-pointer\",\n children: /* @__PURE__ */ n.jsx(z, { variant: \"H4\", children: e })\n }\n ),\n /* @__PURE__ */ n.jsxs(\"div\", { className: \"flex flex-col\", children: [\n /* @__PURE__ */ n.jsxs(\n \"button\",\n {\n role: \"button\",\n \"aria-expanded\": g,\n \"aria-controls\": \"dropdown-menu\",\n onClick: () => o(!g),\n className: \"flex items-center gap-2 justify-between px-2 py-3 border rounded-lg border-separator-regular-light dark:border-separator-regular-dark\",\n children: [\n /* @__PURE__ */ n.jsx(z, { variant: \"B1Button\", children: c?.value }),\n /* @__PURE__ */ n.jsx(rr, { size: 16 })\n ]\n }\n ),\n /* @__PURE__ */ n.jsx(\"div\", { className: \"flex flex-col relative\", children: g && /* @__PURE__ */ n.jsx(\"div\", { className: \"flex flex-col absolute w-full top-1 gap-2 px-2 py-3 shadow-lg rounded-lg z-10 backdrop-blur-xl bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark border-separator-regular-light dark:border-separator-regular-dark\", children: i.map((s) => /* @__PURE__ */ n.jsx(\n \"button\",\n {\n role: \"option\",\n \"aria-selected\": s.key === t,\n \"aria-label\": s.value,\n \"aria-controls\": \"dropdown-menu\",\n \"aria-expanded\": g,\n className: D(\n \"flex items-center gap-2 py-1 px-2 rounded-sm text-label-primary-light dark:text-label-primary-dark hover:bg-overlay-fill-default-light dark:hover:bg-overlay-fill-default-dark\",\n s.key === t && \"bg-overlay-fill-default-light dark:bg-overlay-fill-default-dark\"\n ),\n onClick: () => {\n r(s.key), o(!1);\n },\n children: /* @__PURE__ */ n.jsx(z, { variant: \"B2\", children: s.value })\n },\n s.key\n )) }) })\n ] })\n ] });\n};\nfunction xt(e) {\n var t, r, i = \"\";\n if (typeof e == \"string\" || typeof e == \"number\") i += e;\n else if (typeof e == \"object\") if (Array.isArray(e)) {\n var c = e.length;\n for (t = 0; t < c; t++) e[t] && (r = xt(e[t])) && (i && (i += \" \"), i += r);\n } else for (r in e) e[r] && (i && (i += \" \"), i += r);\n return i;\n}\nfunction He() {\n for (var e, t, r = 0, i = \"\", c = arguments.length; r < c; r++) (e = arguments[r]) && (t = xt(e)) && (i && (i += \" \"), i += t);\n return i;\n}\nconst D = He, z = ({ children: e, className: t, variant: r = \"B1\", significance: i = \"primary\", as: c }) => {\n const g = c ?? yr[r], o = ye[r];\n return /* @__PURE__ */ n.jsx(g, { className: D(\"font-sans\", fr[i], t, o), children: e });\n}, ye = {\n Di1: \"text-[72px] font-bold leading-[90px] -tracking-2,5\",\n Di2: \"text-[60px] font-bold leading-[72px] -tracking-2,0\",\n Di3: \"text-[48px] font-bold leading-[60px] -tracking-1,5\",\n T1: \"text-[40px] font-bold leading-[48px] -tracking-1,5\",\n T2: \"text-[32px] font-bold leading-[40px] -tracking-1\",\n T3: \"text-[24px] font-bold leading-[32px] -tracking-0,5\",\n H1: \"text-[24px] font-bold leading-[32px] -tracking-0,5\",\n H2: \"text-[20px] font-bold leading-[24px]\",\n H3: \"text-[15px] font-bold leading-[20px]\",\n H4: \"text-[13px] font-bold leading-[16px]\",\n B1B: \"text-[15px] font-bold leading-[24px] -tracking-0,1\",\n B1: \"text-[15px] leading-[24px] -tracking-0,1\",\n B1Button: \"text-[15px] leading-[16px] -tracking-0,1\",\n B2: \"text-[13px] leading-[20px]\",\n B2Button: \"text-[13px] leading-[16px]\",\n D1B: \"text-[12px] font-bold leading-[16px]\",\n D1: \"text-[12px] leading-[16px]\",\n M: \"text-[10px] leading-[16px]\"\n}, yr = {\n Di1: \"h1\",\n Di2: \"h2\",\n Di3: \"h3\",\n T1: \"h1\",\n T2: \"h2\",\n T3: \"h3\",\n H1: \"h1\",\n H2: \"h2\",\n H3: \"h3\",\n H4: \"h4\",\n B1B: \"p\",\n B1: \"p\",\n B1Button: \"span\",\n B2: \"p\",\n B2Button: \"span\",\n D1B: \"p\",\n D1: \"p\",\n M: \"p\"\n}, fr = {\n primary: \"text-label-primary-light dark:text-label-primary-dark\",\n secondary: \"text-label-secondary-light dark:text-label-secondary-dark\",\n tertiary: \"text-label-tertiary-light dark:text-label-tertiary-dark\",\n quaternary: \"text-label-quaternary-light dark:text-label-quaternary-dark\",\n placeholder: \"text-label-placeholder-light dark:text-label-placeholder-dark\",\n \"nonadaptable-text\": \"text-nonadaptable-text-light dark:text-nonadaptable-text-dark\",\n disabled: \"text-primary-action-disabled-light dark:text-primary-action-disabled-dark\"\n}, Ma = ({ children: e, className: t, variant: r = \"B1\", significance: i = \"primary\", as: c }) => {\n const g = c ?? hr[r], o = br[r];\n return /* @__PURE__ */ n.jsx(g, { className: D(\"font-code\", xr[i], t, o), children: e });\n}, br = {\n B1B: \"text-[15px] font-bold leading-[24px]\",\n B1: \"text-[15px] leading-[24px]\",\n B1Button: \"text-[15px] leading-[16px]\",\n B2: \"text-[13px] leading-[20px]\",\n B2Button: \"text-[13px] leading-[16px]\"\n}, hr = {\n B1B: \"p\",\n B1: \"p\",\n B1Button: \"span\",\n B2: \"p\",\n B2Button: \"span\"\n}, xr = {\n primary: \"text-label-primary-light dark:text-label-primary-dark\",\n secondary: \"text-label-secondary-light dark:text-label-secondary-dark\",\n tertiary: \"text-label-tertiary-light dark:text-label-tertiary-dark\",\n quaternary: \"text-label-quaternary-light dark:text-label-quaternary-dark\",\n placeholder: \"text-label-placeholder-light dark:text-label-placeholder-dark\",\n \"nonadaptable-text\": \"text-nonadaptable-text-light dark:text-nonadaptable-text-dark\",\n disabled: \"text-primary-action-disabled-light dark:text-primary-action-disabled-dark\"\n}, Ua = ({ children: e }) => e.split(`\n`).map((t, r) => /* @__PURE__ */ n.jsxs(Pe, { children: [\n t,\n r < e.split(`\n`).length - 1 && /* @__PURE__ */ n.jsx(\"br\", {})\n] }, r)), za = ({ children: e, className: t, variant: r = \"H1B\", significance: i = \"primary\", as: c }) => {\n const g = c ?? kr[r], o = mr[r];\n return /* @__PURE__ */ n.jsx(g, { className: D(\"font-mc\", vr[i], t, o), children: e });\n}, mr = {\n Di1: \"text-[72px] font-semibold leading-[90px] -tracking-0,1\",\n Di2: \"text-[60px] font-semibold leading-[72px] -tracking-0,1\",\n Di3: \"text-[48px] font-semibold leading-[60px] -tracking-0,1\",\n T1: \"text-[40px] font-semibold leading-[48px]\",\n T2: \"text-[32px] font-semibold leading-[40px]\",\n T3: \"text-[24px] font-semibold leading-[32px]\",\n H1B: \"text-[24px] font-semibold leading-[32px]\",\n H1: \"text-[24px] font-medium leading-[32px]\",\n H2B: \"text-[20px] font-semibold leading-[24px]\",\n H2: \"text-[20px] font-medium leading-[24px]\",\n H3B: \"text-[15px] font-semibold leading-[20px]\",\n H3: \"text-[15px] font-medium leading-[20px]\"\n}, kr = {\n Di1: \"h1\",\n Di2: \"h2\",\n Di3: \"h3\",\n T1: \"h1\",\n T2: \"h2\",\n T3: \"h3\",\n H1: \"h1\",\n H1B: \"h1\",\n H2: \"h2\",\n H2B: \"h2\",\n H3: \"h3\",\n H3B: \"h3\"\n}, vr = {\n primary: \"text-label-primary-light dark:text-label-primary-dark\",\n secondary: \"text-label-secondary-light dark:text-label-secondary-dark\",\n tertiary: \"text-label-tertiary-light dark:text-label-tertiary-dark\",\n quaternary: \"text-label-quaternary-light dark:text-label-quaternary-dark\",\n placeholder: \"text-label-placeholder-light dark:text-label-placeholder-dark\",\n \"nonadaptable-text\": \"text-nonadaptable-text-light dark:text-nonadaptable-text-dark\",\n disabled: \"text-primary-action-disabled-light dark:text-primary-action-disabled-dark\"\n}, Va = ({\n textVariant: e = \"B1\",\n significance: t = \"primary\",\n placeholder: r,\n value: i,\n onSave: c,\n onCancel: g,\n onChange: o,\n initialState: b = \"view\",\n autoEdit: s = \"off\",\n saveOnBlur: m = !1\n}) => {\n const [k, h] = ge(b === \"edit\"), E = $e(null);\n Se(() => {\n k && (s === \"on\" && E.current?.focus(), s === \"mark\" && E.current?.select());\n }, [E, s, k]);\n const _ = async () => {\n h(!1), await c?.();\n }, d = (u) => {\n if (u.key === \"Enter\") {\n _();\n return;\n }\n if (u.key === \"Escape\") {\n h(!1), g?.();\n return;\n }\n };\n return /* @__PURE__ */ n.jsx(\"div\", { className: \"flex grow\", children: k ? /* @__PURE__ */ n.jsx(\n \"input\",\n {\n className: D(\n ye[e],\n \"outline-hidden w-full\",\n `text-label-${t}-light dark:text-label-${t}-dark bg-transparent placeholder:text-label-placeholder-light dark:placeholder:text-label-placeholder-dark`\n ),\n value: i,\n onChange: (u) => {\n o?.(u.target.value);\n },\n onBlur: m ? _ : void 0,\n onKeyUp: d,\n ref: E,\n placeholder: r\n }\n ) : /* @__PURE__ */ n.jsx(\"button\", { onClick: () => h(!0), children: /* @__PURE__ */ n.jsx(z, { variant: e, significance: t, children: i }) }) });\n}, Ga = ({ placeholder: e, value: t, onChange: r, onClear: i, disabled: c, size: g = \"medium\" }) => {\n const o = g === \"small\" ? \"p-2\" : \"py-3 px-4\", b = \"text-label-primary-light dark:text-label-primary-dark placeholder:text-label-placeholder-light dark:placeholder:text-label-placeholder-dark disabled:text-primary-action-disabled-light dark:disabled:text-primary-action-disabled-dark\";\n return /* @__PURE__ */ n.jsxs(\n \"div\",\n {\n \"aria-disabled\": c,\n className: D(\n \"flex gap-2 rounded-lg border items-center\",\n o,\n \"border-separator-regular-light dark:border-separator-regular-dark\",\n \"bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\"\n ),\n children: [\n /* @__PURE__ */ n.jsx(\n \"input\",\n {\n type: \"text\",\n placeholder: e,\n value: t,\n onChange: (s) => r?.(s.target.value),\n disabled: c,\n className: D(\"flex-1 bg-transparent outline-hidden\", b, {\n [ye.B1Button]: g === \"medium\",\n [ye.B2Button]: g === \"small\"\n })\n }\n ),\n /* @__PURE__ */ n.jsx(\"button\", { onClick: i, disabled: c, className: b, children: t ? /* @__PURE__ */ n.jsx(ft, { size: 16 }) : /* @__PURE__ */ n.jsx(ar, { size: 16 }) })\n ]\n }\n );\n}, qa = ({ options: e, onChange: t, selectedValue: r, size: i = \"small\", contrast: c = \"low\" }) => {\n const g = {\n small: {\n wrapper: \"p-[2px] rounded-[8px]\",\n icon: 16,\n button: \"h-[28px] w-[28px] rounded-[6px]\"\n },\n xsmall: {\n wrapper: \"p-[1.5px] rounded-[6px]\",\n icon: 12,\n button: \"h-[21px] w-[21px] rounded-[4.5px]\"\n },\n xxsmall: {\n wrapper: \"p-[1.25px] rounded-[5px]\",\n icon: 12,\n button: \"h-[17.5px] w-[17.5px] rounded-[3.75px]\"\n }\n }, o = c === \"high\" ? \"bg-secondary-action-base-light dark:bg-secondary-action-base-dark text-label-quaternary-light dark:text-label-quaternary-dark\" : \"bg-background-grouped-secondary-light dark:bg-background-grouped-secondary-dark text-label-primary-light dark:text-label-primary-dark\";\n return /* @__PURE__ */ n.jsx(\n \"div\",\n {\n className: D(\n \"flex bg-overlay-fill-alternative-light dark:bg-overlay-fill-alternative-dark\",\n g[i].wrapper\n ),\n children: e.map((b) => /* @__PURE__ */ n.jsx(\n \"button\",\n {\n onClick: () => t(b.value),\n className: D(\n \"flex items-center justify-center\",\n g[i].button,\n {\n [o]: b.value === r\n },\n {\n \"text-label-secondary-light dark:text-label-secondary-dark\": b.value !== r\n }\n ),\n children: /* @__PURE__ */ n.jsx(me.Provider, { value: { size: g[i].icon }, children: b.icon })\n },\n b.value\n ))\n }\n );\n}, Za = ({\n label: e,\n description: t,\n variant: r = \"medium\",\n className: i,\n inputClassName: c,\n value: g,\n rules: o = [],\n onUpdate: b,\n onBlur: s,\n onChange: m,\n labelOnlyForScreenReaders: k,\n disabled: h,\n autoEdit: E = !1,\n ..._\n}) => {\n const [d, u] = ge(g), [y, v] = ge(!1), [f, C] = ge([]), A = $e(null);\n Se(() => {\n u(g), E && A.current?.focus();\n }, [g, E]);\n const R = (j) => {\n const O = j.target.value;\n y && C(o.map((H) => H(O, e || \"\")).filter(Boolean)), u(O);\n }, P = () => {\n C(o.map((j) => j(d, e || \"\")).filter(Boolean)), v(!0);\n };\n return /* @__PURE__ */ n.jsxs(\"label\", { className: D(i, \"flex flex-col gap-2 grow\", k && \"sr-only\"), children: [\n e && /* @__PURE__ */ n.jsx(z, { variant: r === \"small\" ? \"B2\" : \"B1\", significance: h ? \"disabled\" : \"primary\", children: e }),\n t && /* @__PURE__ */ n.jsx(\n z,\n {\n significance: h ? \"disabled\" : \"secondary\",\n variant: r === \"small\" ? \"B2Button\" : \"B1Button\",\n children: t\n }\n ),\n /* @__PURE__ */ n.jsx(\n \"input\",\n {\n className: D(\n c,\n \"border-solid border focus:outline-hidden rounded-lg bg-background-primary-light dark:bg-background-primary-dark\",\n {\n \"px-4 py-3\": r === \"medium\",\n \"px-4 py-2\": r === \"small\",\n [ye.B1Button]: r === \"medium\",\n [ye.B2Button]: r === \"small\",\n \"text-label-primary-light dark:text-label-primary-dark\": !h,\n \"text-label-placeholder-light dark:text-label-placeholder-dark\": h,\n \"border-separator-opaque-light dark:border-separator-opaque-dark\": f.length === 0,\n \"border-danger-default-light dark:border-danger-default-dark\": f.length > 0\n }\n ),\n value: d,\n onChange: (j) => {\n R(j), m?.(j);\n },\n onBlur: (j) => {\n P(), b?.(d), s?.(j);\n },\n onMouseUp: (j) => j.preventDefault(),\n ref: A,\n ..._\n }\n ),\n f.map((j, O) => /* @__PURE__ */ n.jsx(\n z,\n {\n as: \"p\",\n variant: r === \"small\" ? \"B2Button\" : \"B1Button\",\n significance: h ? \"disabled\" : \"primary\",\n children: j\n },\n O\n ))\n ] });\n}, Wa = ({\n isOn: e,\n onChange: t,\n size: r = \"medium\",\n onBackgroundColor: i,\n offIcon: c,\n onIcon: g,\n ariaLabel: o\n}) => {\n const b = i || \"bg-overlay-fill-alternative-light\", s = {\n medium: {\n wrapper: \"h-[40px] w-[65px] p-[2.5px] rounded-[10px]\",\n icon: 20,\n button: \"h-[35px] w-[35px] rounded-[7.5px]\",\n translateX: \"translate-x-[25px]\"\n },\n small: {\n wrapper: \"h-[32px] w-[52px] p-[2px] rounded-[8px]\",\n icon: 16,\n button: \"h-[28px] w-[28px] rounded-[6px]\",\n translateX: \"translate-x-[20px]\"\n },\n xsmall: {\n wrapper: \"h-[24px] w-[39px] p-[1.5px] rounded-[6px]\",\n icon: 12,\n button: \"h-[21px] w-[21px] rounded-[4.5px]\",\n translateX: \"translate-x-[15px]\"\n },\n xxsmall: {\n wrapper: \"h-[20px] w-[32.5px] p-[1.5px] rounded-[5px]\",\n icon: 10,\n button: \"h-[17.5px] w-[17.5px] rounded-[3.75px]\",\n translateX: \"translate-x-[12px]\"\n }\n };\n return /* @__PURE__ */ n.jsx(\"div\", { className: \"flex items-center\", children: /* @__PURE__ */ n.jsx(\n \"div\",\n {\n className: D(\n \"transition-colors duration-300 ease-in-out flex items-center\",\n s[r].wrapper,\n {\n [b]: e\n },\n {\n \"bg-overlay-fill-alternative-light\": !e\n }\n ),\n children: /* @__PURE__ */ n.jsx(\n \"button\",\n {\n onClick: () => {\n t(!e);\n },\n \"aria-label\": o,\n className: D(\n \"flex transition-transform duration-300 ease-in-out items-center justify-center text-nonadaptable-text-dark bg-nonadaptable-text-light\",\n s[r].button,\n {\n [`${s[r].translateX} `]: e\n }\n ),\n children: /* @__PURE__ */ n.jsxs(me.Provider, { value: { size: s[r].icon }, children: [\n g && e && g,\n c && !e && c\n ] })\n }\n )\n }\n ) });\n}, Ya = ({\n options: e,\n selectedFirst: t,\n selectedSecond: r,\n onSelectedFirst: i,\n onSelectedSecond: c,\n onClear: g\n}) => /* @__PURE__ */ n.jsxs(\"div\", { className: \"flex gap-3 py-3\", children: [\n t && /* @__PURE__ */ n.jsx(ht, { variant: \"neutral\", size: \"small\", iconAfter: /* @__PURE__ */ n.jsx(ft, {}), onClick: g }),\n t ? e.filter((o) => o.key === t.key).map((o) => /* @__PURE__ */ n.jsxs(Pe, { children: [\n /* @__PURE__ */ n.jsx(ot, { text: o.value, active: !0 }),\n o.options.map((b) => /* @__PURE__ */ n.jsx(\n dr,\n {\n onClick: () => c(b),\n selected: r?.key == b.key,\n text: b.value,\n significance: r?.key == b.key || !r ? \"primary\" : \"secondary\"\n },\n b.key\n ))\n ] }, o.key)) : e.map((o) => /* @__PURE__ */ n.jsx(\"button\", { onClick: () => i(o), children: /* @__PURE__ */ n.jsx(ot, { text: o.value }) }, o.key))\n] }), Ka = ({ groups: e, align: t = \"left\", onDismiss: r, grow: i = !1 }) => {\n const c = e.some((o) => o.items.some((b) => b.selected)), { ref: g } = ze({\n isActive: !!r,\n onDismiss: () => r?.(),\n includeEscape: !0\n });\n return /* @__PURE__ */ n.jsx(\"div\", { ref: g, className: D(\"relative\", { \"flex flex-col grow\": i }), children: /* @__PURE__ */ n.jsx(\n \"div\",\n {\n className: D(\n \"absolute top-1 shadow-lg p-4 rounded-lg z-10 backdrop-blur-xl bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\",\n {\n \"right-0\": t === \"right\",\n \"left-0\": t === \"left\",\n \"w-full\": i,\n \"w-max\": !i\n }\n ),\n children: /* @__PURE__ */ n.jsx(\"div\", { className: \"flex flex-col gap-3\", children: e.map((o, b) => /* @__PURE__ */ n.jsxs(Pe, { children: [\n /* @__PURE__ */ n.jsxs(\"div\", { className: \"flex flex-col gap-1\", children: [\n o.title && /* @__PURE__ */ n.jsx(z, { variant: \"D1B\", significance: \"secondary\", children: o.title }),\n o.items.map((s, m) => /* @__PURE__ */ n.jsxs(\n \"button\",\n {\n onClick: s.onClick,\n className: \"flex items-center gap-2 py-1 px-2 rounded-sm text-label-primary-light dark:text-label-primary-dark hover:bg-overlay-fill-default-light dark:hover:bg-overlay-fill-default-dark\",\n children: [\n /* @__PURE__ */ n.jsxs(me.Provider, { value: { size: 16 }, children: [\n c ? /* @__PURE__ */ n.jsx(\"div\", { className: \"shrink-0\", children: s.selected ? /* @__PURE__ */ n.jsx(bt, {}) : /* @__PURE__ */ n.jsx(\"div\", { className: \"w-4 shrink-0\" }) }) : null,\n s.icon\n ] }),\n /* @__PURE__ */ n.jsx(z, { variant: \"B2\", children: s.label })\n ]\n },\n `item-${b}-${m}`\n ))\n ] }),\n b < e.length - 1 && /* @__PURE__ */ n.jsx(Oa, {}, `separator-${b}`)\n ] }, `group-${b}`)) })\n }\n ) });\n};\nvar Cr = Object.create, je = Object.defineProperty, wr = Object.defineProperties, Er = Object.getOwnPropertyDescriptor, Fr = Object.getOwnPropertyDescriptors, mt = Object.getOwnPropertyNames, Ae = Object.getOwnPropertySymbols, _r = Object.getPrototypeOf, Me = Object.prototype.hasOwnProperty, kt = Object.prototype.propertyIsEnumerable, ct = (e, t, r) => t in e ? je(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Q = (e, t) => {\n for (var r in t || (t = {}))\n Me.call(t, r) && ct(e, r, t[r]);\n if (Ae)\n for (var r of Ae(t))\n kt.call(t, r) && ct(e, r, t[r]);\n return e;\n}, Te = (e, t) => wr(e, Fr(t)), vt = (e, t) => {\n var r = {};\n for (var i in e)\n Me.call(e, i) && t.indexOf(i) < 0 && (r[i] = e[i]);\n if (e != null && Ae)\n for (var i of Ae(e))\n t.indexOf(i) < 0 && kt.call(e, i) && (r[i] = e[i]);\n return r;\n}, Ar = (e, t) => function() {\n return t || (0, e[mt(e)[0]])((t = { exports: {} }).exports, t), t.exports;\n}, Sr = (e, t) => {\n for (var r in t)\n je(e, r, { get: t[r], enumerable: !0 });\n}, jr = (e, t, r, i) => {\n if (t && typeof t == \"object\" || typeof t == \"function\")\n for (let c of mt(t))\n !Me.call(e, c) && c !== r && je(e, c, { get: () => t[c], enumerable: !(i = Er(t, c)) || i.enumerable });\n return e;\n}, Tr = (e, t, r) => (r = e != null ? Cr(_r(e)) : {}, jr(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n !e || !e.__esModule ? je(r, \"default\", { value: e, enumerable: !0 }) : r,\n e\n)), Rr = Ar({\n \"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js\"(e, t) {\n var r = (function() {\n var i = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i, c = 0, g = {}, o = {\n /**\n * A namespace for utility methods.\n *\n * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n * change or disappear at any time.\n *\n * @namespace\n * @memberof Prism\n */\n util: {\n encode: function d(u) {\n return u instanceof b ? new b(u.type, d(u.content), u.alias) : Array.isArray(u) ? u.map(d) : u.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/\\u00a0/g, \" \");\n },\n /**\n * Returns the name of the type of the given value.\n *\n * @param {any} o\n * @returns {string}\n * @example\n * type(null) === 'Null'\n * type(undefined) === 'Undefined'\n * type(123) === 'Number'\n * type('foo') === 'String'\n * type(true) === 'Boolean'\n * type([1, 2]) === 'Array'\n * type({}) === 'Object'\n * type(String) === 'Function'\n * type(/abc+/) === 'RegExp'\n */\n type: function(d) {\n return Object.prototype.toString.call(d).slice(8, -1);\n },\n /**\n * Returns a unique number for the given object. Later calls will still return the same number.\n *\n * @param {Object} obj\n * @returns {number}\n */\n objId: function(d) {\n return d.__id || Object.defineProperty(d, \"__id\", { value: ++c }), d.__id;\n },\n /**\n * Creates a deep clone of the given object.\n *\n * The main intended use of this function is to clone language definitions.\n *\n * @param {T} o\n * @param {Record<number, any>} [visited]\n * @returns {T}\n * @template T\n */\n clone: function d(u, y) {\n y = y || {};\n var v, f;\n switch (o.util.type(u)) {\n case \"Object\":\n if (f = o.util.objId(u), y[f])\n return y[f];\n v = /** @type {Record<string, any>} */\n {}, y[f] = v;\n for (var C in u)\n u.hasOwnProperty(C) && (v[C] = d(u[C], y));\n return (\n /** @type {any} */\n v\n );\n case \"Array\":\n return f = o.util.objId(u), y[f] ? y[f] : (v = [], y[f] = v, u.forEach(function(A, R) {\n v[R] = d(A, y);\n }), /** @type {any} */\n v);\n default:\n return u;\n }\n },\n /**\n * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n *\n * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n *\n * @param {Element} element\n * @returns {string}\n */\n getLanguage: function(d) {\n for (; d; ) {\n var u = i.exec(d.className);\n if (u)\n return u[1].toLowerCase();\n d = d.parentElement;\n }\n return \"none\";\n },\n /**\n * Sets the Prism `language-xxxx` class of the given element.\n *\n * @param {Element} element\n * @param {string} language\n * @returns {void}\n */\n setLanguage: function(d, u) {\n d.className = d.className.replace(RegExp(i, \"gi\"), \"\"), d.classList.add(\"language-\" + u);\n },\n /**\n * Returns whether a given class is active for `element`.\n *\n * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n * given class is just the given class with a `no-` prefix.\n *\n * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n * ancestors have the given class or the negated version of it, then the default activation will be returned.\n *\n * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n * version of it, the class is considered active.\n *\n * @param {Element} element\n * @param {string} className\n * @param {boolean} [defaultActivation=false]\n * @returns {boolean}\n */\n isActive: function(d, u, y) {\n for (var v = \"no-\" + u; d; ) {\n var f = d.classList;\n if (f.contains(u))\n return !0;\n if (f.contains(v))\n return !1;\n d = d.parentElement;\n }\n return !!y;\n }\n },\n /**\n * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n *\n * @namespace\n * @memberof Prism\n * @public\n */\n languages: {\n /**\n * The grammar for plain, unformatted text.\n */\n plain: g,\n plaintext: g,\n text: g,\n txt: g,\n /**\n * Creates a deep copy of the language with the given id and appends the given tokens.\n *\n * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n * will be overwritten at its original position.\n *\n * ## Best practices\n *\n * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n *\n * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n *\n * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n * @param {Grammar} redef The new tokens to append.\n * @returns {Grammar} The new language created.\n * @public\n * @example\n * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n * // at its original position\n * 'comment': { ... },\n * // CSS doesn't have a 'color' token, so this token will be appended\n * 'color': /\\b(?:red|green|blue)\\b/\n * });\n */\n extend: function(d, u) {\n var y = o.util.clone(o.languages[d]);\n for (var v in u)\n y[v] = u[v];\n return y;\n },\n /**\n * Inserts tokens _before_ another token in a language definition or any other grammar.\n *\n * ## Usage\n *\n * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n * this:\n *\n * ```js\n * Prism.languages.markup.style = {\n * // token\n * };\n * ```\n *\n * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n * before existing tokens. For the CSS example above, you would use it like this:\n *\n * ```js\n * Prism.languages.insertBefore('markup', 'cdata', {\n * 'style': {\n * // token\n * }\n * });\n * ```\n *\n * ## Special cases\n *\n * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n * will be ignored.\n *\n * This behavior can be used to insert tokens after `before`:\n *\n * ```js\n * Prism.languages.insertBefore('markup', 'comment', {\n * 'comment': Prism.languages.markup.comment,\n * // tokens after 'comment'\n * });\n * ```\n *\n * ## Limitations\n *\n * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n * deleting properties which is necessary to insert at arbitrary positions.\n *\n * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n * Instead, it will create a new object and replace all references to the target object with the new one. This\n * can be done without temporarily deleting properties, so the iteration order is well-defined.\n *\n * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n * you hold the target object in a variable, then the value of the variable will not change.\n *\n * ```js\n * var oldMarkup = Prism.languages.markup;\n * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n *\n * assert(oldMarkup !== Prism.languages.markup);\n * assert(newMarkup === Prism.languages.markup);\n * ```\n *\n * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n * object to be modified.\n * @param {string} before The key to insert before.\n * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n * object to be modified.\n *\n * Defaults to `Prism.languages`.\n * @returns {Grammar} The new grammar object.\n * @public\n */\n insertBefore: function(d, u, y, v) {\n v = v || /** @type {any} */\n o.languages;\n var f = v[d], C = {};\n for (var A in f)\n if (f.hasOwnProperty(A)) {\n if (A == u)\n for (var R in y)\n y.hasOwnProperty(R) && (C[R] = y[R]);\n y.hasOwnProperty(A) || (C[A] = f[A]);\n }\n var P = v[d];\n return v[d] = C, o.languages.DFS(o.languages, function(j, O) {\n O === P && j != d && (this[j] = C);\n }), C;\n },\n // Traverse a language definition with Depth First Search\n DFS: function d(u, y, v, f) {\n f = f || {};\n var C = o.util.objId;\n for (var A in u)\n if (u.hasOwnProperty(A)) {\n y.call(u, A, u[A], v || A);\n var R = u[A], P = o.util.type(R);\n P === \"Object\" && !f[C(R)] ? (f[C(R)] = !0, d(R, y, null, f)) : P === \"Array\" && !f[C(R)] && (f[C(R)] = !0, d(R, y, A, f));\n }\n }\n },\n plugins: {},\n /**\n * Low-level function, only use if you know what you’re doing. It accepts a string of text as input\n * and the language definitions to use, and returns a string with the HTML produced.\n *\n * The following hooks will be run:\n * 1. `before-tokenize`\n * 2. `after-tokenize`\n * 3. `wrap`: On each {@link Token}.\n *\n * @param {string} text A string with the code to be highlighted.\n * @param {Grammar} grammar An object containing the tokens to use.\n *\n * Usually a language definition like `Prism.languages.markup`.\n * @param {string} language The name of the language definition passed to `grammar`.\n * @returns {string} The highlighted HTML.\n * @memberof Prism\n * @public\n * @example\n * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n */\n highlight: function(d, u, y) {\n var v = {\n code: d,\n grammar: u,\n language: y\n };\n if (o.hooks.run(\"before-tokenize\", v), !v.grammar)\n throw new Error('The language \"' + v.language + '\" has no grammar.');\n return v.tokens = o.tokenize(v.code, v.grammar), o.hooks.run(\"after-tokenize\", v), b.stringify(o.util.encode(v.tokens), v.language);\n },\n /**\n * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n * and the language definitions to use, and returns an array with the tokenized code.\n *\n * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n *\n * This method could be useful in other contexts as well, as a very crude parser.\n *\n * @param {string} text A string with the code to be highlighted.\n * @param {Grammar} grammar An object containing the tokens to use.\n *\n * Usually a language definition like `Prism.languages.markup`.\n * @returns {TokenStream} An array of strings and tokens, a token stream.\n * @memberof Prism\n * @public\n * @example\n * let code = `var foo = 0;`;\n * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n * tokens.forEach(token => {\n * if (token instanceof Prism.Token && token.type === 'number') {\n * console.log(`Found numeric literal: ${token.content}`);\n * }\n * });\n */\n tokenize: function(d, u) {\n var y = u.rest;\n if (y) {\n for (var v in y)\n u[v] = y[v];\n delete u.rest;\n }\n var f = new k();\n return h(f, f.head, d), m(d, f, u, f.head, 0), _(f);\n },\n /**\n * @namespace\n * @memberof Prism\n * @public\n */\n hooks: {\n all: {},\n /**\n * Adds the given callback to the list of callbacks for the given hook.\n *\n * The callback will be invoked when the hook it is registered for is run.\n * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n *\n * One callback function can be registered to multiple hooks and the same hook multiple times.\n *\n * @param {string} name The name of the hook.\n * @param {HookCallback} callback The callback function which is given environment variables.\n * @public\n */\n add: function(d, u) {\n var y = o.hooks.all;\n y[d] = y[d] || [], y[d].push(u);\n },\n /**\n * Runs a hook invoking all registered callbacks with the given environment variables.\n *\n * Callbacks will be invoked synchronously and in the order in which they were registered.\n *\n * @param {string} name The name of the hook.\n * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n * @public\n */\n run: function(d, u) {\n var y = o.hooks.all[d];\n if (!(!y || !y.length))\n for (var v = 0, f; f = y[v++]; )\n f(u);\n }\n },\n Token: b\n };\n function b(d, u, y, v) {\n this.type = d, this.content = u, this.alias = y, this.length = (v || \"\").length | 0;\n }\n b.stringify = function d(u, y) {\n if (typeof u == \"string\")\n return u;\n if (Array.isArray(u)) {\n var v = \"\";\n return u.forEach(function(P) {\n v += d(P, y);\n }), v;\n }\n var f = {\n type: u.type,\n content: d(u.content, y),\n tag: \"span\",\n classes: [\"token\", u.type],\n attributes: {},\n language: y\n }, C = u.alias;\n C && (Array.isArray(C) ? Array.prototype.push.apply(f.classes, C) : f.classes.push(C)), o.hooks.run(\"wrap\", f);\n var A = \"\";\n for (var R in f.attributes)\n A += \" \" + R + '=\"' + (f.attributes[R] || \"\").replace(/\"/g, \"&quot;\") + '\"';\n return \"<\" + f.tag + ' class=\"' + f.classes.join(\" \") + '\"' + A + \">\" + f.content + \"</\" + f.tag + \">\";\n };\n function s(d, u, y, v) {\n d.lastIndex = u;\n var f = d.exec(y);\n if (f && v && f[1]) {\n var C = f[1].length;\n f.index += C, f[0] = f[0].slice(C);\n }\n return f;\n }\n function m(d, u, y, v, f, C) {\n for (var A in y)\n if (!(!y.hasOwnProperty(A) || !y[A])) {\n var R = y[A];\n R = Array.isArray(R) ? R : [R];\n for (var P = 0; P < R.length; ++P) {\n if (C && C.cause == A + \",\" + P)\n return;\n var j = R[P], O = j.inside, H = !!j.lookbehind, J = !!j.greedy, Y = j.alias;\n if (J && !j.pattern.global) {\n var q = j.pattern.toString().match(/[imsuy]*$/)[0];\n j.pattern = RegExp(j.pattern.source, q + \"g\");\n }\n for (var K = j.pattern || j, I = v.next, M = f; I !== u.tail && !(C && M >= C.reach); M += I.value.length, I = I.next) {\n var ee = I.value;\n if (u.length > d.length)\n return;\n if (!(ee instanceof b)) {\n var ne = 1, V;\n if (J) {\n if (V = s(K, M, d, H), !V || V.index >= d.length)\n break;\n var le = V.index, ke = V.index + V[0].length, X = M;\n for (X += I.value.length; le >= X; )\n I = I.next, X += I.value.length;\n if (X -= I.value.length, M = X, I.value instanceof b)\n continue;\n for (var te = I; te !== u.tail && (X < ke || typeof te.value == \"string\"); te = te.next)\n ne++, X += te.value.length;\n ne--, ee = d.slice(M, X), V.index -= M;\n } else if (V = s(K, 0, ee, H), !V)\n continue;\n var le = V.index, ie = V[0], fe = ee.slice(0, le), ve = ee.slice(le + ie.length), oe = M + ee.length;\n C && oe > C.reach && (C.reach = oe);\n var re = I.prev;\n fe && (re = h(u, re, fe), M += fe.length), E(u, re, ne);\n var ue = new b(A, O ? o.tokenize(ie, O) : ie, Y, ie);\n if (I = h(u, re, ue), ve && h(u, I, ve), ne > 1) {\n var se = {\n cause: A + \",\" + P,\n reach: oe\n };\n m(d, u, y, I.prev, M, se), C && se.reach > C.reach && (C.reach = se.reach);\n }\n }\n }\n }\n }\n }\n function k() {\n var d = { value: null, prev: null, next: null }, u = { value: null, prev: d, next: null };\n d.next = u, this.head = d, this.tail = u, this.length = 0;\n }\n function h(d, u, y) {\n var v = u.next, f = { value: y, prev: u, next: v };\n return u.next = f, v.prev = f, d.length++, f;\n }\n function E(d, u, y) {\n for (var v = u.next, f = 0; f < y && v !== d.tail; f++)\n v = v.next;\n u.next = v, v.prev = u, d.length -= f;\n }\n function _(d) {\n for (var u = [], y = d.head.next; y !== d.tail; )\n u.push(y.value), y = y.next;\n return u;\n }\n return o;\n })();\n t.exports = r, r.default = r;\n }\n}), p = Tr(Rr());\np.languages.markup = { comment: { pattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/, greedy: !0 }, prolog: { pattern: /<\\?[\\s\\S]+?\\?>/, greedy: !0 }, doctype: { pattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i, greedy: !0, inside: { \"internal-subset\": { pattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/, lookbehind: !0, greedy: !0, inside: null }, string: { pattern: /\"[^\"]*\"|'[^']*'/, greedy: !0 }, punctuation: /^<!|>$|[[\\]]/, \"doctype-tag\": /^DOCTYPE/i, name: /[^\\s<>'\"]+/ } }, cdata: { pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i, greedy: !0 }, tag: { pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/, greedy: !0, inside: { tag: { pattern: /^<\\/?[^\\s>\\/]+/, inside: { punctuation: /^<\\/?/, namespace: /^[^\\s>\\/:]+:/ } }, \"special-attr\": [], \"attr-value\": { pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/, inside: { punctuation: [{ pattern: /^=/, alias: \"attr-equals\" }, { pattern: /^(\\s*)[\"']|[\"']$/, lookbehind: !0 }] } }, punctuation: /\\/?>/, \"attr-name\": { pattern: /[^\\s>\\/]+/, inside: { namespace: /^[^\\s>\\/:]+:/ } } } }, entity: [{ pattern: /&[\\da-z]{1,8};/i, alias: \"named-entity\" }, /&#x?[\\da-f]{1,8};/i] }, p.languages.markup.tag.inside[\"attr-value\"].inside.entity = p.languages.markup.entity, p.languages.markup.doctype.inside[\"internal-subset\"].inside = p.languages.markup, p.hooks.add(\"wrap\", function(e) {\n e.type === \"entity\" && (e.attributes.title = e.content.replace(/&amp;/, \"&\"));\n}), Object.defineProperty(p.languages.markup.tag, \"addInlined\", { value: function(e, i) {\n var r = {}, r = (r[\"language-\" + i] = { pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i, lookbehind: !0, inside: p.languages[i] }, r.cdata = /^<!\\[CDATA\\[|\\]\\]>$/i, { \"included-cdata\": { pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i, inside: r } }), i = (r[\"language-\" + i] = { pattern: /[\\s\\S]+/, inside: p.languages[i] }, {});\n i[e] = { pattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function() {\n return e;\n }), \"i\"), lookbehind: !0, greedy: !0, inside: r }, p.languages.insertBefore(\"markup\", \"cdata\", i);\n} }), Object.defineProperty(p.languages.markup.tag, \"addAttribute\", { value: function(e, t) {\n p.languages.markup.tag.inside[\"special-attr\"].push({ pattern: RegExp(/(^|[\"'\\s])/.source + \"(?:\" + e + \")\" + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source, \"i\"), lookbehind: !0, inside: { \"attr-name\": /^[^\\s=]+/, \"attr-value\": { pattern: /=[\\s\\S]+/, inside: { value: { pattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/, lookbehind: !0, alias: [t, \"language-\" + t], inside: p.languages[t] }, punctuation: [{ pattern: /^=/, alias: \"attr-equals\" }, /\"|'/] } } } });\n} }), p.languages.html = p.languages.markup, p.languages.mathml = p.languages.markup, p.languages.svg = p.languages.markup, p.languages.xml = p.languages.extend(\"markup\", {}), p.languages.ssml = p.languages.xml, p.languages.atom = p.languages.xml, p.languages.rss = p.languages.xml, (function(e) {\n var t = { pattern: /\\\\[\\\\(){}[\\]^$+*?|.]/, alias: \"escape\" }, r = /\\\\(?:x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u\\{[\\da-fA-F]+\\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/, i = \"(?:[^\\\\\\\\-]|\" + r.source + \")\", i = RegExp(i + \"-\" + i), c = { pattern: /(<|')[^<>']+(?=[>']$)/, lookbehind: !0, alias: \"variable\" };\n e.languages.regex = { \"char-class\": { pattern: /((?:^|[^\\\\])(?:\\\\\\\\)*)\\[(?:[^\\\\\\]]|\\\\[\\s\\S])*\\]/, lookbehind: !0, inside: { \"char-class-negation\": { pattern: /(^\\[)\\^/, lookbehind: !0, alias: \"operator\" }, \"char-class-punctuation\": { pattern: /^\\[|\\]$/, alias: \"punctuation\" }, range: { pattern: i, inside: { escape: r, \"range-punctuation\": { pattern: /-/, alias: \"operator\" } } }, \"special-escape\": t, \"char-set\": { pattern: /\\\\[wsd]|\\\\p\\{[^{}]+\\}/i, alias: \"class-name\" }, escape: r } }, \"special-escape\": t, \"char-set\": { pattern: /\\.|\\\\[wsd]|\\\\p\\{[^{}]+\\}/i, alias: \"class-name\" }, backreference: [{ pattern: /\\\\(?![123][0-7]{2})[1-9]/, alias: \"keyword\" }, { pattern: /\\\\k<[^<>']+>/, alias: \"keyword\", inside: { \"group-name\": c } }], anchor: { pattern: /[$^]|\\\\[ABbGZz]/, alias: \"function\" }, escape: r, group: [{ pattern: /\\((?:\\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/, alias: \"punctuation\", inside: { \"group-name\": c } }, { pattern: /\\)/, alias: \"punctuation\" }], quantifier: { pattern: /(?:[+*?]|\\{\\d+(?:,\\d*)?\\})[?+]?/, alias: \"number\" }, alternation: { pattern: /\\|/, alias: \"keyword\" } };\n})(p), p.languages.clike = { comment: [{ pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/, lookbehind: !0, greedy: !0 }, { pattern: /(^|[^\\\\:])\\/\\/.*/, lookbehind: !0, greedy: !0 }], string: { pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/, greedy: !0 }, \"class-name\": { pattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i, lookbehind: !0, inside: { punctuation: /[.\\\\]/ } }, keyword: /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/, boolean: /\\b(?:false|true)\\b/, function: /\\b\\w+(?=\\()/, number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i, operator: /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/, punctuation: /[{}[\\];(),.:]/ }, p.languages.javascript = p.languages.extend(\"clike\", { \"class-name\": [p.languages.clike[\"class-name\"], { pattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/, lookbehind: !0 }], keyword: [{ pattern: /((?:^|\\})\\s*)catch\\b/, lookbehind: !0 }, { pattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/, lookbehind: !0 }], function: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/, number: { pattern: RegExp(/(^|[^\\w$])/.source + \"(?:\" + /NaN|Infinity/.source + \"|\" + /0[bB][01]+(?:_[01]+)*n?/.source + \"|\" + /0[oO][0-7]+(?:_[0-7]+)*n?/.source + \"|\" + /0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source + \"|\" + /\\d+(?:_\\d+)*n/.source + \"|\" + /(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source + \")\" + /(?![\\w$])/.source), lookbehind: !0 }, operator: /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/ }), p.languages.javascript[\"class-name\"][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/, p.languages.insertBefore(\"javascript\", \"keyword\", { regex: { pattern: RegExp(/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source + /\\//.source + \"(?:\" + /(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source + \"|\" + /(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source + \")\" + /(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source), lookbehind: !0, greedy: !0, inside: { \"regex-source\": { pattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/, lookbehind: !0, alias: \"language-regex\", inside: p.languages.regex }, \"regex-delimiter\": /^\\/|\\/$/, \"regex-flags\": /^[a-z]+$/ } }, \"function-variable\": { pattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/, alias: \"function\" }, parameter: [{ pattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/, lookbehind: !0, inside: p.languages.javascript }, { pattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i, lookbehind: !0, inside: p.languages.javascript }, { pattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/, lookbehind: !0, inside: p.languages.javascript }, { pattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/, lookbehind: !0, inside: p.languages.javascript }], constant: /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/ }), p.languages.insertBefore(\"javascript\", \"string\", { hashbang: { pattern: /^#!.*/, greedy: !0, alias: \"comment\" }, \"template-string\": { pattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/, greedy: !0, inside: { \"template-punctuation\": { pattern: /^`|`$/, alias: \"string\" }, interpolation: { pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/, lookbehind: !0, inside: { \"interpolation-punctuation\": { pattern: /^\\$\\{|\\}$/, alias: \"punctuation\" }, rest: p.languages.javascript } }, string: /[\\s\\S]+/ } }, \"string-property\": { pattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m, lookbehind: !0, greedy: !0, alias: \"property\" } }), p.languages.insertBefore(\"javascript\", \"operator\", { \"literal-property\": { pattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m, lookbehind: !0, alias: \"property\" } }), p.languages.markup && (p.languages.markup.tag.addInlined(\"script\", \"javascript\"), p.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source, \"javascript\")), p.languages.js = p.languages.javascript, p.languages.actionscript = p.languages.extend(\"javascript\", { keyword: /\\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\\b/, operator: /\\+\\+|--|(?:[+\\-*\\/%^]|&&?|\\|\\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/ }), p.languages.actionscript[\"class-name\"].alias = \"function\", delete p.languages.actionscript.parameter, delete p.languages.actionscript[\"literal-property\"], p.languages.markup && p.languages.insertBefore(\"actionscript\", \"string\", { xml: { pattern: /(^|[^.])<\\/?\\w+(?:\\s+[^\\s>\\/=]+=(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2)*\\s*\\/?>/, lookbehind: !0, inside: p.languages.markup } }), (function(e) {\n var t = /#(?!\\{).+/, r = { pattern: /#\\{[^}]+\\}/, alias: \"variable\" };\n e.languages.coffeescript = e.languages.extend(\"javascript\", { comment: t, string: [{ pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/, greedy: !0 }, { pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/, greedy: !0, inside: { interpolation: r } }], keyword: /\\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\\b/, \"class-member\": { pattern: /@(?!\\d)\\w+/, alias: \"variable\" } }), e.languages.insertBefore(\"coffeescript\", \"comment\", { \"multiline-comment\": { pattern: /###[\\s\\S]+?###/, alias: \"comment\" }, \"block-regex\": { pattern: /\\/{3}[\\s\\S]*?\\/{3}/, alias: \"regex\", inside: { comment: t, interpolation: r } } }), e.languages.insertBefore(\"coffeescript\", \"string\", { \"inline-javascript\": { pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/, inside: { delimiter: { pattern: /^`|`$/, alias: \"punctuation\" }, script: { pattern: /[\\s\\S]+/, alias: \"language-javascript\", inside: e.languages.javascript } } }, \"multiline-string\": [{ pattern: /'''[\\s\\S]*?'''/, greedy: !0, alias: \"string\" }, { pattern: /\"\"\"[\\s\\S]*?\"\"\"/, greedy: !0, alias: \"string\", inside: { interpolation: r } }] }), e.languages.insertBefore(\"coffeescript\", \"keyword\", { property: /(?!\\d)\\w+(?=\\s*:(?!:))/ }), delete e.languages.coffeescript[\"template-string\"], e.languages.coffee = e.languages.coffeescript;\n})(p), (function(e) {\n var t = e.languages.javadoclike = { parameter: { pattern: /(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*@(?:arg|arguments|param)\\s+)\\w+/m, lookbehind: !0 }, keyword: { pattern: /(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*|\\{)@[a-z][a-zA-Z-]+\\b/m, lookbehind: !0 }, punctuation: /[{}]/ };\n Object.defineProperty(t, \"addSupport\", { value: function(r, i) {\n (r = typeof r == \"string\" ? [r] : r).forEach(function(c) {\n var g = function(h) {\n h.inside || (h.inside = {}), h.inside.rest = i;\n }, o = \"doc-comment\";\n if (b = e.languages[c]) {\n var b, s = b[o];\n if ((s = s || (b = e.languages.insertBefore(c, \"comment\", { \"doc-comment\": { pattern: /(^|[^\\\\])\\/\\*\\*[^/][\\s\\S]*?(?:\\*\\/|$)/, lookbehind: !0, alias: \"comment\" } }))[o]) instanceof RegExp && (s = b[o] = { pattern: s }), Array.isArray(s))\n for (var m = 0, k = s.length; m < k; m++)\n s[m] instanceof RegExp && (s[m] = { pattern: s[m] }), g(s[m]);\n else\n g(s);\n }\n });\n } }), t.addSupport([\"java\", \"javascript\", \"php\"], t);\n})(p), (function(e) {\n var t = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/, t = (e.languages.css = { comment: /\\/\\*[\\s\\S]*?\\*\\//, atrule: { pattern: RegExp(\"@[\\\\w-](?:\" + /[^;{\\s\"']|\\s+(?!\\s)/.source + \"|\" + t.source + \")*?\" + /(?:;|(?=\\s*\\{))/.source), inside: { rule: /^@[\\w-]+/, \"selector-function-argument\": { pattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/, lookbehind: !0, alias: \"selector\" }, keyword: { pattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/, lookbehind: !0 } } }, url: { pattern: RegExp(\"\\\\burl\\\\((?:\" + t.source + \"|\" + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + \")\\\\)\", \"i\"), greedy: !0, inside: { function: /^url/i, punctuation: /^\\(|\\)$/, string: { pattern: RegExp(\"^\" + t.source + \"$\"), alias: \"url\" } } }, selector: { pattern: RegExp(`(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"'\\\\s]|\\\\s+(?![\\\\s{])|` + t.source + \")*(?=\\\\s*\\\\{)\"), lookbehind: !0 }, string: { pattern: t, greedy: !0 }, property: { pattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i, lookbehind: !0 }, important: /!important\\b/i, function: { pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i, lookbehind: !0 }, punctuation: /[(){};:,]/ }, e.languages.css.atrule.inside.rest = e.languages.css, e.languages.markup);\n t && (t.tag.addInlined(\"style\", \"css\"), t.tag.addAttribute(\"style\", \"css\"));\n})(p), (function(e) {\n var t = /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/, t = (e.languages.css.selector = { pattern: e.languages.css.selector.pattern, lookbehind: !0, inside: t = { \"pseudo-element\": /:(?:after|before|first-letter|first-line|selection)|::[-\\w]+/, \"pseudo-class\": /:[-\\w]+/, class: /\\.[-\\w]+/, id: /#[-\\w]+/, attribute: { pattern: RegExp(`\\\\[(?:[^[\\\\]\"']|` + t.source + \")*\\\\]\"), greedy: !0, inside: { punctuation: /^\\[|\\]$/, \"case-sensitivity\": { pattern: /(\\s)[si]$/i, lookbehind: !0, alias: \"keyword\" }, namespace: { pattern: /^(\\s*)(?:(?!\\s)[-*\\w\\xA0-\\uFFFF])*\\|(?!=)/, lookbehind: !0, inside: { punctuation: /\\|$/ } }, \"attr-name\": { pattern: /^(\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+/, lookbehind: !0 }, \"attr-value\": [t, { pattern: /(=\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+(?=\\s*$)/, lookbehind: !0 }], operator: /[|~*^$]?=/ } }, \"n-th\": [{ pattern: /(\\(\\s*)[+-]?\\d*[\\dn](?:\\s*[+-]\\s*\\d+)?(?=\\s*\\))/, lookbehind: !0, inside: { number: /[\\dn]+/, operator: /[+-]/ } }, { pattern: /(\\(\\s*)(?:even|odd)(?=\\s*\\))/i, lookbehind: !0 }], combinator: />|\\+|~|\\|\\|/, punctuation: /[(),]/ } }, e.languages.css.atrule.inside[\"selector-function-argument\"].inside = t, e.languages.insertBefore(\"css\", \"property\", { variable: { pattern: /(^|[^-\\w\\xA0-\\uFFFF])--(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*/i, lookbehind: !0 } }), { pattern: /(\\b\\d+)(?:%|[a-z]+(?![\\w-]))/, lookbehind: !0 }), r = { pattern: /(^|[^\\w.-])-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/, lookbehind: !0 };\n e.languages.insertBefore(\"css\", \"function\", { operator: { pattern: /(\\s)[+\\-*\\/](?=\\s)/, lookbehind: !0 }, hexcode: { pattern: /\\B#[\\da-f]{3,8}\\b/i, alias: \"color\" }, color: [{ pattern: /(^|[^\\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\\w-])/i, lookbehind: !0 }, { pattern: /\\b(?:hsl|rgb)\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*\\)\\B|\\b(?:hsl|rgb)a\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*,\\s*(?:0|0?\\.\\d+|1)\\s*\\)\\B/i, inside: { unit: t, number: r, function: /[\\w-]+(?=\\()/, punctuation: /[(),]/ } }], entity: /\\\\[\\da-f]{1,8}/i, unit: t, number: r });\n})(p), (function(e) {\n var t = /[*&][^\\s[\\]{},]+/, r = /!(?:<[\\w\\-%#;/?:@&=+$,.!~*'()[\\]]+>|(?:[a-zA-Z\\d-]*!)?[\\w\\-%#;/?:@&=+$.~*'()]+)?/, i = \"(?:\" + r.source + \"(?:[ \t]+\" + t.source + \")?|\" + t.source + \"(?:[ \t]+\" + r.source + \")?)\", c = /(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g, function() {\n return /[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]/.source;\n }), g = /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'/.source;\n function o(b, s) {\n s = (s || \"\").replace(/m/g, \"\") + \"m\";\n var m = /([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))/.source.replace(/<<prop>>/g, function() {\n return i;\n }).replace(/<<value>>/g, function() {\n return b;\n });\n return RegExp(m, s);\n }\n e.languages.yaml = { scalar: { pattern: RegExp(/([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)/.source.replace(/<<prop>>/g, function() {\n return i;\n })), lookbehind: !0, alias: \"string\" }, comment: /#.*/, key: { pattern: RegExp(/((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)/.source.replace(/<<prop>>/g, function() {\n return i;\n }).replace(/<<key>>/g, function() {\n return \"(?:\" + c + \"|\" + g + \")\";\n })), lookbehind: !0, greedy: !0, alias: \"atrule\" }, directive: { pattern: /(^[ \\t]*)%.+/m, lookbehind: !0, alias: \"important\" }, datetime: { pattern: o(/\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?/.source), lookbehind: !0, alias: \"number\" }, boolean: { pattern: o(/false|true/.source, \"i\"), lookbehind: !0, alias: \"important\" }, null: { pattern: o(/null|~/.source, \"i\"), lookbehind: !0, alias: \"important\" }, string: { pattern: o(g), lookbehind: !0, greedy: !0 }, number: { pattern: o(/[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)/.source, \"i\"), lookbehind: !0 }, tag: r, important: t, punctuation: /---|[:[\\]{}\\-,|>?]|\\.\\.\\./ }, e.languages.yml = e.languages.yaml;\n})(p), (function(e) {\n var t = /(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source;\n function r(m) {\n return m = m.replace(/<inner>/g, function() {\n return t;\n }), RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + \"(?:\" + m + \")\");\n }\n var i = /(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/.source, c = /\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(/__/g, function() {\n return i;\n }), g = /\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/.source, o = (e.languages.markdown = e.languages.extend(\"markup\", {}), e.languages.insertBefore(\"markdown\", \"prolog\", { \"front-matter-block\": { pattern: /(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/, lookbehind: !0, greedy: !0, inside: { punctuation: /^---|---$/, \"front-matter\": { pattern: /\\S+(?:\\s+\\S+)*/, alias: [\"yaml\", \"language-yaml\"], inside: e.languages.yaml } } }, blockquote: { pattern: /^>(?:[\\t ]*>)*/m, alias: \"punctuation\" }, table: { pattern: RegExp(\"^\" + c + g + \"(?:\" + c + \")*\", \"m\"), inside: { \"table-data-rows\": { pattern: RegExp(\"^(\" + c + g + \")(?:\" + c + \")*$\"), lookbehind: !0, inside: { \"table-data\": { pattern: RegExp(i), inside: e.languages.markdown }, punctuation: /\\|/ } }, \"table-line\": { pattern: RegExp(\"^(\" + c + \")\" + g + \"$\"), lookbehind: !0, inside: { punctuation: /\\||:?-{3,}:?/ } }, \"table-header-row\": { pattern: RegExp(\"^\" + c + \"$\"), inside: { \"table-header\": { pattern: RegExp(i), alias: \"important\", inside: e.languages.markdown }, punctuation: /\\|/ } } } }, code: [{ pattern: /((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/, lookbehind: !0, alias: \"keyword\" }, { pattern: /^```[\\s\\S]*?^```$/m, greedy: !0, inside: { \"code-block\": { pattern: /^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m, lookbehind: !0 }, \"code-language\": { pattern: /^(```).+/, lookbehind: !0 }, punctuation: /```/ } }], title: [{ pattern: /\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m, alias: \"important\", inside: { punctuation: /==+$|--+$/ } }, { pattern: /(^\\s*)#.+/m, lookbehind: !0, alias: \"important\", inside: { punctuation: /^#+|#+$/ } }], hr: { pattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m, lookbehind: !0, alias: \"punctuation\" }, list: { pattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m, lookbehind: !0, alias: \"punctuation\" }, \"url-reference\": { pattern: /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/, inside: { variable: { pattern: /^(!?\\[)[^\\]]+/, lookbehind: !0 }, string: /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/, punctuation: /^[\\[\\]!:]|[<>]/ }, alias: \"url\" }, bold: { pattern: r(/\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*/.source), lookbehind: !0, greedy: !0, inside: { content: { pattern: /(^..)[\\s\\S]+(?=..$)/, lookbehind: !0, inside: {} }, punctuation: /\\*\\*|__/ } }, italic: { pattern: r(/\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*/.source), lookbehind: !0, greedy: !0, inside: { content: { pattern: /(^.)[\\s\\S]+(?=.$)/, lookbehind: !0, inside: {} }, punctuation: /[*_]/ } }, strike: { pattern: r(/(~~?)(?:(?!~)<inner>)+\\2/.source), lookbehind: !0, greedy: !0, inside: { content: { pattern: /(^~~?)[\\s\\S]+(?=\\1$)/, lookbehind: !0, inside: {} }, punctuation: /~~?/ } }, \"code-snippet\": { pattern: /(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/, lookbehind: !0, greedy: !0, alias: [\"code\", \"keyword\"] }, url: { pattern: r(/!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])/.source), lookbehind: !0, greedy: !0, inside: { operator: /^!/, content: { pattern: /(^\\[)[^\\]]+(?=\\])/, lookbehind: !0, inside: {} }, variable: { pattern: /(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/, lookbehind: !0 }, url: { pattern: /(^\\]\\()[^\\s)]+/, lookbehind: !0 }, string: { pattern: /(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/, lookbehind: !0 } } } }), [\"url\", \"bold\", \"italic\", \"strike\"].forEach(function(m) {\n [\"url\", \"bold\", \"italic\", \"strike\", \"code-snippet\"].forEach(function(k) {\n m !== k && (e.languages.markdown[m].inside.content.inside[k] = e.languages.markdown[k]);\n });\n }), e.hooks.add(\"after-tokenize\", function(m) {\n m.language !== \"markdown\" && m.language !== \"md\" || (function k(h) {\n if (h && typeof h != \"string\")\n for (var E = 0, _ = h.length; E < _; E++) {\n var d, u = h[E];\n u.type !== \"code\" ? k(u.content) : (d = u.content[1], u = u.content[3], d && u && d.type === \"code-language\" && u.type === \"code-block\" && typeof d.content == \"string\" && (d = d.content.replace(/\\b#/g, \"sharp\").replace(/\\b\\+\\+/g, \"pp\"), d = \"language-\" + (d = (/[a-z][\\w-]*/i.exec(d) || [\"\"])[0].toLowerCase()), u.alias ? typeof u.alias == \"string\" ? u.alias = [u.alias, d] : u.alias.push(d) : u.alias = [d]));\n }\n })(m.tokens);\n }), e.hooks.add(\"wrap\", function(m) {\n if (m.type === \"code-block\") {\n for (var k = \"\", h = 0, E = m.classes.length; h < E; h++) {\n var _ = m.classes[h], _ = /language-(.+)/.exec(_);\n if (_) {\n k = _[1];\n break;\n }\n }\n var d, u = e.languages[k];\n u ? m.content = e.highlight((function(y) {\n return y = y.replace(o, \"\"), y = y.replace(/&(\\w{1,8}|#x?[\\da-f]{1,8});/gi, function(v, f) {\n var C;\n return (f = f.toLowerCase())[0] === \"#\" ? (C = f[1] === \"x\" ? parseInt(f.slice(2), 16) : Number(f.slice(1)), s(C)) : b[f] || v;\n });\n })(m.content), u, k) : k && k !== \"none\" && e.plugins.autoloader && (d = \"md-\" + (/* @__PURE__ */ new Date()).valueOf() + \"-\" + Math.floor(1e16 * Math.random()), m.attributes.id = d, e.plugins.autoloader.loadLanguages(k, function() {\n var y = document.getElementById(d);\n y && (y.innerHTML = e.highlight(y.textContent, e.languages[k], k));\n }));\n }\n }), RegExp(e.languages.markup.tag.pattern.source, \"gi\")), b = { amp: \"&\", lt: \"<\", gt: \">\", quot: '\"' }, s = String.fromCodePoint || String.fromCharCode;\n e.languages.md = e.languages.markdown;\n})(p), p.languages.graphql = { comment: /#.*/, description: { pattern: /(?:\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")(?=\\s*[a-z_])/i, greedy: !0, alias: \"string\", inside: { \"language-markdown\": { pattern: /(^\"(?:\"\")?)(?!\\1)[\\s\\S]+(?=\\1$)/, lookbehind: !0, inside: p.languages.markdown } } }, string: { pattern: /\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/, greedy: !0 }, number: /(?:\\B-|\\b)\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i, boolean: /\\b(?:false|true)\\b/, variable: /\\$[a-z_]\\w*/i, directive: { pattern: /@[a-z_]\\w*/i, alias: \"function\" }, \"attr-name\": { pattern: /\\b[a-z_]\\w*(?=\\s*(?:\\((?:[^()\"]|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")*\\))?:)/i, greedy: !0 }, \"atom-input\": { pattern: /\\b[A-Z]\\w*Input\\b/, alias: \"class-name\" }, scalar: /\\b(?:Boolean|Float|ID|Int|String)\\b/, constant: /\\b[A-Z][A-Z_\\d]*\\b/, \"class-name\": { pattern: /(\\b(?:enum|implements|interface|on|scalar|type|union)\\s+|&\\s*|:\\s*|\\[)[A-Z_]\\w*/, lookbehind: !0 }, fragment: { pattern: /(\\bfragment\\s+|\\.{3}\\s*(?!on\\b))[a-zA-Z_]\\w*/, lookbehind: !0, alias: \"function\" }, \"definition-mutation\": { pattern: /(\\bmutation\\s+)[a-zA-Z_]\\w*/, lookbehind: !0, alias: \"function\" }, \"definition-query\": { pattern: /(\\bquery\\s+)[a-zA-Z_]\\w*/, lookbehind: !0, alias: \"function\" }, keyword: /\\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\\b/, operator: /[!=|&]|\\.{3}/, \"property-query\": /\\w+(?=\\s*\\()/, object: /\\w+(?=\\s*\\{)/, punctuation: /[!(){}\\[\\]:=,]/, property: /\\w+/ }, p.hooks.add(\"after-tokenize\", function(e) {\n if (e.language === \"graphql\")\n for (var t = e.tokens.filter(function(d) {\n return typeof d != \"string\" && d.type !== \"comment\" && d.type !== \"scalar\";\n }), r = 0; r < t.length; ) {\n var i = t[r++];\n if (i.type === \"keyword\" && i.content === \"mutation\") {\n var c = [];\n if (h([\"definition-mutation\", \"punctuation\"]) && k(1).content === \"(\") {\n r += 2;\n var g = E(/^\\($/, /^\\)$/);\n if (g === -1)\n continue;\n for (; r < g; r++) {\n var o = k(0);\n o.type === \"variable\" && (_(o, \"variable-input\"), c.push(o.content));\n }\n r = g + 1;\n }\n if (h([\"punctuation\", \"property-query\"]) && k(0).content === \"{\" && (r++, _(k(0), \"property-mutation\"), 0 < c.length)) {\n var b = E(/^\\{$/, /^\\}$/);\n if (b !== -1)\n for (var s = r; s < b; s++) {\n var m = t[s];\n m.type === \"variable\" && 0 <= c.indexOf(m.content) && _(m, \"variable-input\");\n }\n }\n }\n }\n function k(d) {\n return t[r + d];\n }\n function h(d, u) {\n u = u || 0;\n for (var y = 0; y < d.length; y++) {\n var v = k(y + u);\n if (!v || v.type !== d[y])\n return;\n }\n return 1;\n }\n function E(d, u) {\n for (var y = 1, v = r; v < t.length; v++) {\n var f = t[v], C = f.content;\n if (f.type === \"punctuation\" && typeof C == \"string\") {\n if (d.test(C))\n y++;\n else if (u.test(C) && --y === 0)\n return v;\n }\n }\n return -1;\n }\n function _(d, u) {\n var y = d.alias;\n y ? Array.isArray(y) || (d.alias = y = [y]) : d.alias = y = [], y.push(u);\n }\n}), p.languages.sql = { comment: { pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/, lookbehind: !0 }, variable: [{ pattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/, greedy: !0 }, /@[\\w.$]+/], string: { pattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/, greedy: !0, lookbehind: !0 }, identifier: { pattern: /(^|[^@\\\\])`(?:\\\\[\\s\\S]|[^`\\\\]|``)*`/, greedy: !0, lookbehind: !0, inside: { punctuation: /^`|`$/ } }, function: /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i, keyword: /\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i, boolean: /\\b(?:FALSE|NULL|TRUE)\\b/i, number: /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i, operator: /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i, punctuation: /[;[\\]()`,.]/ }, (function(e) {\n var t = e.languages.javascript[\"template-string\"], r = t.pattern.source, i = t.inside.interpolation, c = i.inside[\"interpolation-punctuation\"], g = i.pattern.source;\n function o(h, E) {\n if (e.languages[h])\n return { pattern: RegExp(\"((?:\" + E + \")\\\\s*)\" + r), lookbehind: !0, greedy: !0, inside: { \"template-punctuation\": { pattern: /^`|`$/, alias: \"string\" }, \"embedded-code\": { pattern: /[\\s\\S]+/, alias: h } } };\n }\n function b(h, E, _) {\n return h = { code: h, grammar: E, language: _ }, e.hooks.run(\"before-tokenize\", h), h.tokens = e.tokenize(h.code, h.grammar), e.hooks.run(\"after-tokenize\", h), h.tokens;\n }\n function s(h, E, _) {\n var y = e.tokenize(h, { interpolation: { pattern: RegExp(g), lookbehind: !0 } }), d = 0, u = {}, y = b(y.map(function(f) {\n if (typeof f == \"string\")\n return f;\n for (var C, A, f = f.content; h.indexOf((A = d++, C = \"___\" + _.toUpperCase() + \"_\" + A + \"___\")) !== -1; )\n ;\n return u[C] = f, C;\n }).join(\"\"), E, _), v = Object.keys(u);\n return d = 0, (function f(C) {\n for (var A = 0; A < C.length; A++) {\n if (d >= v.length)\n return;\n var R, P, j, O, H, J, Y, q = C[A];\n typeof q == \"string\" || typeof q.content == \"string\" ? (R = v[d], (Y = (J = typeof q == \"string\" ? q : q.content).indexOf(R)) !== -1 && (++d, P = J.substring(0, Y), H = u[R], j = void 0, (O = {})[\"interpolation-punctuation\"] = c, (O = e.tokenize(H, O)).length === 3 && ((j = [1, 1]).push.apply(j, b(O[1], e.languages.javascript, \"javascript\")), O.splice.apply(O, j)), j = new e.Token(\"interpolation\", O, i.alias, H), O = J.substring(Y + R.length), H = [], P && H.push(P), H.push(j), O && (f(J = [O]), H.push.apply(H, J)), typeof q == \"string\" ? (C.splice.apply(C, [A, 1].concat(H)), A += H.length - 1) : q.content = H)) : (Y = q.content, Array.isArray(Y) ? f(Y) : f([Y]));\n }\n })(y), new e.Token(_, y, \"language-\" + _, h);\n }\n e.languages.javascript[\"template-string\"] = [o(\"css\", /\\b(?:styled(?:\\([^)]*\\))?(?:\\s*\\.\\s*\\w+(?:\\([^)]*\\))*)*|css(?:\\s*\\.\\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source), o(\"html\", /\\bhtml|\\.\\s*(?:inner|outer)HTML\\s*\\+?=/.source), o(\"svg\", /\\bsvg/.source), o(\"markdown\", /\\b(?:markdown|md)/.source), o(\"graphql\", /\\b(?:gql|graphql(?:\\s*\\.\\s*experimental)?)/.source), o(\"sql\", /\\bsql/.source), t].filter(Boolean);\n var m = { javascript: !0, js: !0, typescript: !0, ts: !0, jsx: !0, tsx: !0 };\n function k(h) {\n return typeof h == \"string\" ? h : Array.isArray(h) ? h.map(k).join(\"\") : k(h.content);\n }\n e.hooks.add(\"after-tokenize\", function(h) {\n h.language in m && (function E(_) {\n for (var d = 0, u = _.length; d < u; d++) {\n var y, v, f, C = _[d];\n typeof C != \"string\" && (y = C.content, Array.isArray(y) ? C.type === \"template-string\" ? (C = y[1], y.length === 3 && typeof C != \"string\" && C.type === \"embedded-code\" && (v = k(C), C = C.alias, C = Array.isArray(C) ? C[0] : C, f = e.languages[C]) && (y[1] = s(v, f, C))) : E(y) : typeof y != \"string\" && E([y]));\n }\n })(h.tokens);\n });\n})(p), (function(e) {\n e.languages.typescript = e.languages.extend(\"javascript\", { \"class-name\": { pattern: /(\\b(?:class|extends|implements|instanceof|interface|new|type)\\s+)(?!keyof\\b)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?:\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/, lookbehind: !0, greedy: !0, inside: null }, builtin: /\\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\\b/ }), e.languages.typescript.keyword.push(/\\b(?:abstract|declare|is|keyof|readonly|require)\\b/, /\\b(?:asserts|infer|interface|module|namespace|type)\\b(?=\\s*(?:[{_$a-zA-Z\\xA0-\\uFFFF]|$))/, /\\btype\\b(?=\\s*(?:[\\{*]|$))/), delete e.languages.typescript.parameter, delete e.languages.typescript[\"literal-property\"];\n var t = e.languages.extend(\"typescript\", {});\n delete t[\"class-name\"], e.languages.typescript[\"class-name\"].inside = t, e.languages.insertBefore(\"typescript\", \"function\", { decorator: { pattern: /@[$\\w\\xA0-\\uFFFF]+/, inside: { at: { pattern: /^@/, alias: \"operator\" }, function: /^[\\s\\S]+/ } }, \"generic-function\": { pattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\\s*\\()/, greedy: !0, inside: { function: /^#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/, generic: { pattern: /<[\\s\\S]+/, alias: \"class-name\", inside: t } } } }), e.languages.ts = e.languages.typescript;\n})(p), (function(e) {\n var t = e.languages.javascript, r = /\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})+\\}/.source, i = \"(@(?:arg|argument|param|property)\\\\s+(?:\" + r + \"\\\\s+)?)\";\n e.languages.jsdoc = e.languages.extend(\"javadoclike\", { parameter: { pattern: RegExp(i + /(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?=\\s|$)/.source), lookbehind: !0, inside: { punctuation: /\\./ } } }), e.languages.insertBefore(\"jsdoc\", \"keyword\", { \"optional-parameter\": { pattern: RegExp(i + /\\[(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?:=[^[\\]]+)?\\](?=\\s|$)/.source), lookbehind: !0, inside: { parameter: { pattern: /(^\\[)[$\\w\\xA0-\\uFFFF\\.]+/, lookbehind: !0, inside: { punctuation: /\\./ } }, code: { pattern: /(=)[\\s\\S]*(?=\\]$)/, lookbehind: !0, inside: t, alias: \"language-javascript\" }, punctuation: /[=[\\]]/ } }, \"class-name\": [{ pattern: RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\\s+(?:<TYPE>\\s+)?)[A-Z]\\w*(?:\\.[A-Z]\\w*)*/.source.replace(/<TYPE>/g, function() {\n return r;\n })), lookbehind: !0, inside: { punctuation: /\\./ } }, { pattern: RegExp(\"(@[a-z]+\\\\s+)\" + r), lookbehind: !0, inside: { string: t.string, number: t.number, boolean: t.boolean, keyword: e.languages.typescript.keyword, operator: /=>|\\.\\.\\.|[&|?:*]/, punctuation: /[.,;=<>{}()[\\]]/ } }], example: { pattern: /(@example\\s+(?!\\s))(?:[^@\\s]|\\s+(?!\\s))+?(?=\\s*(?:\\*\\s*)?(?:@\\w|\\*\\/))/, lookbehind: !0, inside: { code: { pattern: /^([\\t ]*(?:\\*\\s*)?)\\S.*$/m, lookbehind: !0, inside: t, alias: \"language-javascript\" } } } }), e.languages.javadoclike.addSupport(\"javascript\", e.languages.jsdoc);\n})(p), (function(e) {\n e.languages.flow = e.languages.extend(\"javascript\", {}), e.languages.insertBefore(\"flow\", \"keyword\", { type: [{ pattern: /\\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\\b/, alias: \"class-name\" }] }), e.languages.flow[\"function-variable\"].pattern = /(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=\\s*(?:function\\b|(?:\\([^()]*\\)(?:\\s*:\\s*\\w+)?|(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/i, delete e.languages.flow.parameter, e.languages.insertBefore(\"flow\", \"operator\", { \"flow-punctuation\": { pattern: /\\{\\||\\|\\}/, alias: \"punctuation\" } }), Array.isArray(e.languages.flow.keyword) || (e.languages.flow.keyword = [e.languages.flow.keyword]), e.languages.flow.keyword.unshift({ pattern: /(^|[^$]\\b)(?:Class|declare|opaque|type)\\b(?!\\$)/, lookbehind: !0 }, { pattern: /(^|[^$]\\B)\\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\\b(?!\\$)/, lookbehind: !0 });\n})(p), p.languages.n4js = p.languages.extend(\"javascript\", { keyword: /\\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\\b/ }), p.languages.insertBefore(\"n4js\", \"constant\", { annotation: { pattern: /@+\\w+/, alias: \"operator\" } }), p.languages.n4jsd = p.languages.n4js, (function(e) {\n function t(o, b) {\n return RegExp(o.replace(/<ID>/g, function() {\n return /(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/.source;\n }), b);\n }\n e.languages.insertBefore(\"javascript\", \"function-variable\", { \"method-variable\": { pattern: RegExp(\"(\\\\.\\\\s*)\" + e.languages.javascript[\"function-variable\"].pattern.source), lookbehind: !0, alias: [\"function-variable\", \"method\", \"function\", \"property-access\"] } }), e.languages.insertBefore(\"javascript\", \"function\", { method: { pattern: RegExp(\"(\\\\.\\\\s*)\" + e.languages.javascript.function.source), lookbehind: !0, alias: [\"function\", \"property-access\"] } }), e.languages.insertBefore(\"javascript\", \"constant\", { \"known-class-name\": [{ pattern: /\\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\\b/, alias: \"class-name\" }, { pattern: /\\b(?:[A-Z]\\w*)Error\\b/, alias: \"class-name\" }] }), e.languages.insertBefore(\"javascript\", \"keyword\", { imports: { pattern: t(/(\\bimport\\b\\s*)(?:<ID>(?:\\s*,\\s*(?:\\*\\s*as\\s+<ID>|\\{[^{}]*\\}))?|\\*\\s*as\\s+<ID>|\\{[^{}]*\\})(?=\\s*\\bfrom\\b)/.source), lookbehind: !0, inside: e.languages.javascript }, exports: { pattern: t(/(\\bexport\\b\\s*)(?:\\*(?:\\s*as\\s+<ID>)?(?=\\s*\\bfrom\\b)|\\{[^{}]*\\})/.source), lookbehind: !0, inside: e.languages.javascript } }), e.languages.javascript.keyword.unshift({ pattern: /\\b(?:as|default|export|from|import)\\b/, alias: \"module\" }, { pattern: /\\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\\b/, alias: \"control-flow\" }, { pattern: /\\bnull\\b/, alias: [\"null\", \"nil\"] }, { pattern: /\\bundefined\\b/, alias: \"nil\" }), e.languages.insertBefore(\"javascript\", \"operator\", { spread: { pattern: /\\.{3}/, alias: \"operator\" }, arrow: { pattern: /=>/, alias: \"operator\" } }), e.languages.insertBefore(\"javascript\", \"punctuation\", { \"property-access\": { pattern: t(/(\\.\\s*)#?<ID>/.source), lookbehind: !0 }, \"maybe-class-name\": { pattern: /(^|[^$\\w\\xA0-\\uFFFF])[A-Z][$\\w\\xA0-\\uFFFF]+/, lookbehind: !0 }, dom: { pattern: /\\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\\b/, alias: \"variable\" }, console: { pattern: /\\bconsole(?=\\s*\\.)/, alias: \"class-name\" } });\n for (var r = [\"function\", \"function-variable\", \"method\", \"method-variable\", \"property-access\"], i = 0; i < r.length; i++) {\n var g = r[i], c = e.languages.javascript[g], g = (c = e.util.type(c) === \"RegExp\" ? e.languages.javascript[g] = { pattern: c } : c).inside || {};\n (c.inside = g)[\"maybe-class-name\"] = /^[A-Z][\\s\\S]*/;\n }\n})(p), (function(e) {\n var t = e.util.clone(e.languages.javascript), r = /(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)/.source, i = /(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})/.source, c = /(?:\\{<S>*\\.{3}(?:[^{}]|<BRACES>)*\\})/.source;\n function g(s, m) {\n return s = s.replace(/<S>/g, function() {\n return r;\n }).replace(/<BRACES>/g, function() {\n return i;\n }).replace(/<SPREAD>/g, function() {\n return c;\n }), RegExp(s, m);\n }\n c = g(c).source, e.languages.jsx = e.languages.extend(\"markup\", t), e.languages.jsx.tag.pattern = g(/<\\/?(?:[\\w.:-]+(?:<S>+(?:[\\w.:$-]+(?:=(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s{'\"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\\/?)?>/.source), e.languages.jsx.tag.inside.tag.pattern = /^<\\/?[^\\s>\\/]*/, e.languages.jsx.tag.inside[\"attr-value\"].pattern = /=(?!\\{)(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s'\">]+)/, e.languages.jsx.tag.inside.tag.inside[\"class-name\"] = /^[A-Z]\\w*(?:\\.[A-Z]\\w*)*$/, e.languages.jsx.tag.inside.comment = t.comment, e.languages.insertBefore(\"inside\", \"attr-name\", { spread: { pattern: g(/<SPREAD>/.source), inside: e.languages.jsx } }, e.languages.jsx.tag), e.languages.insertBefore(\"inside\", \"special-attr\", { script: { pattern: g(/=<BRACES>/.source), alias: \"language-javascript\", inside: { \"script-punctuation\": { pattern: /^=(?=\\{)/, alias: \"punctuation\" }, rest: e.languages.jsx } } }, e.languages.jsx.tag);\n function o(s) {\n for (var m = [], k = 0; k < s.length; k++) {\n var h = s[k], E = !1;\n typeof h != \"string\" && (h.type === \"tag\" && h.content[0] && h.content[0].type === \"tag\" ? h.content[0].content[0].content === \"</\" ? 0 < m.length && m[m.length - 1].tagName === b(h.content[0].content[1]) && m.pop() : h.content[h.content.length - 1].content !== \"/>\" && m.push({ tagName: b(h.content[0].content[1]), openedBraces: 0 }) : 0 < m.length && h.type === \"punctuation\" && h.content === \"{\" ? m[m.length - 1].openedBraces++ : 0 < m.length && 0 < m[m.length - 1].openedBraces && h.type === \"punctuation\" && h.content === \"}\" ? m[m.length - 1].openedBraces-- : E = !0), (E || typeof h == \"string\") && 0 < m.length && m[m.length - 1].openedBraces === 0 && (E = b(h), k < s.length - 1 && (typeof s[k + 1] == \"string\" || s[k + 1].type === \"plain-text\") && (E += b(s[k + 1]), s.splice(k + 1, 1)), 0 < k && (typeof s[k - 1] == \"string\" || s[k - 1].type === \"plain-text\") && (E = b(s[k - 1]) + E, s.splice(k - 1, 1), k--), s[k] = new e.Token(\"plain-text\", E, null, E)), h.content && typeof h.content != \"string\" && o(h.content);\n }\n }\n var b = function(s) {\n return s ? typeof s == \"string\" ? s : typeof s.content == \"string\" ? s.content : s.content.map(b).join(\"\") : \"\";\n };\n e.hooks.add(\"after-tokenize\", function(s) {\n s.language !== \"jsx\" && s.language !== \"tsx\" || o(s.tokens);\n });\n})(p), (function(e) {\n var t = e.util.clone(e.languages.typescript), t = (e.languages.tsx = e.languages.extend(\"jsx\", t), delete e.languages.tsx.parameter, delete e.languages.tsx[\"literal-property\"], e.languages.tsx.tag);\n t.pattern = RegExp(/(^|[^\\w$]|(?=<\\/))/.source + \"(?:\" + t.pattern.source + \")\", t.pattern.flags), t.lookbehind = !0;\n})(p), p.languages.swift = { comment: { pattern: /(^|[^\\\\:])(?:\\/\\/.*|\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\/)/, lookbehind: !0, greedy: !0 }, \"string-literal\": [{ pattern: RegExp(/(^|[^\"#])/.source + \"(?:\" + /\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n\"])*\"/.source + \"|\" + /\"\"\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\\"]|\"(?!\"\"))*\"\"\"/.source + \")\" + /(?![\"#])/.source), lookbehind: !0, greedy: !0, inside: { interpolation: { pattern: /(\\\\\\()(?:[^()]|\\([^()]*\\))*(?=\\))/, lookbehind: !0, inside: null }, \"interpolation-punctuation\": { pattern: /^\\)|\\\\\\($/, alias: \"punctuation\" }, punctuation: /\\\\(?=[\\r\\n])/, string: /[\\s\\S]+/ } }, { pattern: RegExp(/(^|[^\"#])(#+)/.source + \"(?:\" + /\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?\"/.source + \"|\" + /\"\"\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?\"\"\"/.source + \")\\\\2\"), lookbehind: !0, greedy: !0, inside: { interpolation: { pattern: /(\\\\#+\\()(?:[^()]|\\([^()]*\\))*(?=\\))/, lookbehind: !0, inside: null }, \"interpolation-punctuation\": { pattern: /^\\)|\\\\#+\\($/, alias: \"punctuation\" }, string: /[\\s\\S]+/ } }], directive: { pattern: RegExp(/#/.source + \"(?:\" + /(?:elseif|if)\\b/.source + \"(?:[ \t]*\" + /(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?/.source + \")+|\" + /(?:else|endif)\\b/.source + \")\"), alias: \"property\", inside: { \"directive-name\": /^#\\w+/, boolean: /\\b(?:false|true)\\b/, number: /\\b\\d+(?:\\.\\d+)*\\b/, operator: /!|&&|\\|\\||[<>]=?/, punctuation: /[(),]/ } }, literal: { pattern: /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/, alias: \"constant\" }, \"other-directive\": { pattern: /#\\w+\\b/, alias: \"property\" }, attribute: { pattern: /@\\w+/, alias: \"atrule\" }, \"function-definition\": { pattern: /(\\bfunc\\s+)\\w+/, lookbehind: !0, alias: \"function\" }, label: { pattern: /\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/, lookbehind: !0, alias: \"important\" }, keyword: /\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/, boolean: /\\b(?:false|true)\\b/, nil: { pattern: /\\bnil\\b/, alias: \"constant\" }, \"short-argument\": /\\$\\d+\\b/, omit: { pattern: /\\b_\\b/, alias: \"keyword\" }, number: /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i, \"class-name\": /\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/, function: /\\b[a-z_]\\w*(?=\\s*\\()/i, constant: /\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/, operator: /[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/, punctuation: /[{}[\\]();,.:\\\\]/ }, p.languages.swift[\"string-literal\"].forEach(function(e) {\n e.inside.interpolation.inside = p.languages.swift;\n}), (function(e) {\n e.languages.kotlin = e.languages.extend(\"clike\", { keyword: { pattern: /(^|[^.])\\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\\b/, lookbehind: !0 }, function: [{ pattern: /(?:`[^\\r\\n`]+`|\\b\\w+)(?=\\s*\\()/, greedy: !0 }, { pattern: /(\\.)(?:`[^\\r\\n`]+`|\\w+)(?=\\s*\\{)/, lookbehind: !0, greedy: !0 }], number: /\\b(?:0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?[fFL]?)\\b/, operator: /\\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\\/*%<>]=?|[?:]:?|\\.\\.|&&|\\|\\||\\b(?:and|inv|or|shl|shr|ushr|xor)\\b/ }), delete e.languages.kotlin[\"class-name\"];\n var t = { \"interpolation-punctuation\": { pattern: /^\\$\\{?|\\}$/, alias: \"punctuation\" }, expression: { pattern: /[\\s\\S]+/, inside: e.languages.kotlin } };\n e.languages.insertBefore(\"kotlin\", \"string\", { \"string-literal\": [{ pattern: /\"\"\"(?:[^$]|\\$(?:(?!\\{)|\\{[^{}]*\\}))*?\"\"\"/, alias: \"multiline\", inside: { interpolation: { pattern: /\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i, inside: t }, string: /[\\s\\S]+/ } }, { pattern: /\"(?:[^\"\\\\\\r\\n$]|\\\\.|\\$(?:(?!\\{)|\\{[^{}]*\\}))*\"/, alias: \"singleline\", inside: { interpolation: { pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i, lookbehind: !0, inside: t }, string: /[\\s\\S]+/ } }], char: { pattern: /'(?:[^'\\\\\\r\\n]|\\\\(?:.|u[a-fA-F0-9]{0,4}))'/, greedy: !0 } }), delete e.languages.kotlin.string, e.languages.insertBefore(\"kotlin\", \"keyword\", { annotation: { pattern: /\\B@(?:\\w+:)?(?:[A-Z]\\w*|\\[[^\\]]+\\])/, alias: \"builtin\" } }), e.languages.insertBefore(\"kotlin\", \"function\", { label: { pattern: /\\b\\w+@|@\\w+\\b/, alias: \"symbol\" } }), e.languages.kt = e.languages.kotlin, e.languages.kts = e.languages.kotlin;\n})(p), p.languages.c = p.languages.extend(\"clike\", { comment: { pattern: /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/, greedy: !0 }, string: { pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/, greedy: !0 }, \"class-name\": { pattern: /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/, lookbehind: !0 }, keyword: /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/, function: /\\b[a-z_]\\w*(?=\\s*\\()/i, number: /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i, operator: />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/ }), p.languages.insertBefore(\"c\", \"string\", { char: { pattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/, greedy: !0 } }), p.languages.insertBefore(\"c\", \"string\", { macro: { pattern: /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im, lookbehind: !0, greedy: !0, alias: \"property\", inside: { string: [{ pattern: /^(#\\s*include\\s*)<[^>]+>/, lookbehind: !0 }, p.languages.c.string], char: p.languages.c.char, comment: p.languages.c.comment, \"macro-name\": [{ pattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i, lookbehind: !0 }, { pattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i, lookbehind: !0, alias: \"function\" }], directive: { pattern: /^(#\\s*)[a-z]+/, lookbehind: !0, alias: \"keyword\" }, \"directive-hash\": /^#/, punctuation: /##|\\\\(?=[\\r\\n])/, expression: { pattern: /\\S[\\s\\S]*/, inside: p.languages.c } } } }), p.languages.insertBefore(\"c\", \"function\", { constant: /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/ }), delete p.languages.c.boolean, p.languages.objectivec = p.languages.extend(\"c\", { string: { pattern: /@?\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/, greedy: !0 }, keyword: /\\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/, operator: /-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/ }), delete p.languages.objectivec[\"class-name\"], p.languages.objc = p.languages.objectivec, p.languages.reason = p.languages.extend(\"clike\", { string: { pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/, greedy: !0 }, \"class-name\": /\\b[A-Z]\\w*/, keyword: /\\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\\b/, operator: /\\.{3}|:[:=]|\\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\\-*\\/]\\.?|\\b(?:asr|land|lor|lsl|lsr|lxor|mod)\\b/ }), p.languages.insertBefore(\"reason\", \"class-name\", { char: { pattern: /'(?:\\\\x[\\da-f]{2}|\\\\o[0-3][0-7][0-7]|\\\\\\d{3}|\\\\.|[^'\\\\\\r\\n])'/, greedy: !0 }, constructor: /\\b[A-Z]\\w*\\b(?!\\s*\\.)/, label: { pattern: /\\b[a-z]\\w*(?=::)/, alias: \"symbol\" } }), delete p.languages.reason.function, (function(e) {\n for (var t = /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\//.source, r = 0; r < 2; r++)\n t = t.replace(/<self>/g, function() {\n return t;\n });\n t = t.replace(/<self>/g, function() {\n return /[^\\s\\S]/.source;\n }), e.languages.rust = { comment: [{ pattern: RegExp(/(^|[^\\\\])/.source + t), lookbehind: !0, greedy: !0 }, { pattern: /(^|[^\\\\:])\\/\\/.*/, lookbehind: !0, greedy: !0 }], string: { pattern: /b?\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|b?r(#*)\"(?:[^\"]|\"(?!\\1))*\"\\1/, greedy: !0 }, char: { pattern: /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t'])'/, greedy: !0 }, attribute: { pattern: /#!?\\[(?:[^\\[\\]\"]|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")*\\]/, greedy: !0, alias: \"attr-name\", inside: { string: null } }, \"closure-params\": { pattern: /([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/, lookbehind: !0, greedy: !0, inside: { \"closure-punctuation\": { pattern: /^\\||\\|$/, alias: \"punctuation\" }, rest: null } }, \"lifetime-annotation\": { pattern: /'\\w+/, alias: \"symbol\" }, \"fragment-specifier\": { pattern: /(\\$\\w+:)[a-z]+/, lookbehind: !0, alias: \"punctuation\" }, variable: /\\$\\w+/, \"function-definition\": { pattern: /(\\bfn\\s+)\\w+/, lookbehind: !0, alias: \"function\" }, \"type-definition\": { pattern: /(\\b(?:enum|struct|trait|type|union)\\s+)\\w+/, lookbehind: !0, alias: \"class-name\" }, \"module-declaration\": [{ pattern: /(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/, lookbehind: !0, alias: \"namespace\" }, { pattern: /(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/, lookbehind: !0, alias: \"namespace\", inside: { punctuation: /::/ } }], keyword: [/\\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/, /\\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\\b/], function: /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/, macro: { pattern: /\\b\\w+!/, alias: \"property\" }, constant: /\\b[A-Z_][A-Z_\\d]+\\b/, \"class-name\": /\\b[A-Z]\\w*\\b/, namespace: { pattern: /(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/, inside: { punctuation: /::/ } }, number: /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\\b/, boolean: /\\b(?:false|true)\\b/, punctuation: /->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/, operator: /[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?=?|[@?]/ }, e.languages.rust[\"closure-params\"].inside.rest = e.languages.rust, e.languages.rust.attribute.inside.string = e.languages.rust.string;\n})(p), p.languages.go = p.languages.extend(\"clike\", { string: { pattern: /(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|`[^`]*`/, lookbehind: !0, greedy: !0 }, keyword: /\\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/, boolean: /\\b(?:_|false|iota|nil|true)\\b/, number: [/\\b0(?:b[01_]+|o[0-7_]+)i?\\b/i, /\\b0x(?:[a-f\\d_]+(?:\\.[a-f\\d_]*)?|\\.[a-f\\d_]+)(?:p[+-]?\\d+(?:_\\d+)*)?i?(?!\\w)/i, /(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?[\\d_]+)?i?(?!\\w)/i], operator: /[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./, builtin: /\\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\\b/ }), p.languages.insertBefore(\"go\", \"string\", { char: { pattern: /'(?:\\\\.|[^'\\\\\\r\\n]){0,10}'/, greedy: !0 } }), delete p.languages.go[\"class-name\"], (function(e) {\n var t = /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/, r = /\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b/.source.replace(/<keyword>/g, function() {\n return t.source;\n });\n e.languages.cpp = e.languages.extend(\"c\", { \"class-name\": [{ pattern: RegExp(/(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+/.source.replace(/<keyword>/g, function() {\n return t.source;\n })), lookbehind: !0 }, /\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/, /\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i, /\\b\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/], keyword: t, number: { pattern: /(?:\\b0b[01']+|\\b0x(?:[\\da-f']+(?:\\.[\\da-f']*)?|\\.[\\da-f']+)(?:p[+-]?[\\d']+)?|(?:\\b[\\d']+(?:\\.[\\d']*)?|\\B\\.[\\d']+)(?:e[+-]?[\\d']+)?)[ful]{0,4}/i, greedy: !0 }, operator: />>=?|<<=?|->|--|\\+\\+|&&|\\|\\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/, boolean: /\\b(?:false|true)\\b/ }), e.languages.insertBefore(\"cpp\", \"string\", { module: { pattern: RegExp(/(\\b(?:import|module)\\s+)/.source + \"(?:\" + /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|<[^<>\\r\\n]*>/.source + \"|\" + /<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>/.source.replace(/<mod-name>/g, function() {\n return r;\n }) + \")\"), lookbehind: !0, greedy: !0, inside: { string: /^[<\"][\\s\\S]+/, operator: /:/, punctuation: /\\./ } }, \"raw-string\": { pattern: /R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/, alias: \"string\", greedy: !0 } }), e.languages.insertBefore(\"cpp\", \"keyword\", { \"generic-function\": { pattern: /\\b(?!operator\\b)[a-z_]\\w*\\s*<(?:[^<>]|<[^<>]*>)*>(?=\\s*\\()/i, inside: { function: /^\\w+/, generic: { pattern: /<[\\s\\S]+/, alias: \"class-name\", inside: e.languages.cpp } } } }), e.languages.insertBefore(\"cpp\", \"operator\", { \"double-colon\": { pattern: /::/, alias: \"punctuation\" } }), e.languages.insertBefore(\"cpp\", \"class-name\", { \"base-clause\": { pattern: /(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}\"'\\s]+(?:\\s+[^;{}\"'\\s]+)*(?=\\s*[;{])/, lookbehind: !0, greedy: !0, inside: e.languages.extend(\"cpp\", {}) } }), e.languages.insertBefore(\"inside\", \"double-colon\", { \"class-name\": /\\b[a-z_]\\w*\\b(?!\\s*::)/i }, e.languages.cpp[\"base-clause\"]);\n})(p), p.languages.python = { comment: { pattern: /(^|[^\\\\])#.*/, lookbehind: !0, greedy: !0 }, \"string-interpolation\": { pattern: /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i, greedy: !0, inside: { interpolation: { pattern: /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/, lookbehind: !0, inside: { \"format-spec\": { pattern: /(:)[^:(){}]+(?=\\}$)/, lookbehind: !0 }, \"conversion-option\": { pattern: /![sra](?=[:}]$)/, alias: \"punctuation\" }, rest: null } }, string: /[\\s\\S]+/ } }, \"triple-quoted-string\": { pattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i, greedy: !0, alias: \"string\" }, string: { pattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i, greedy: !0 }, function: { pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g, lookbehind: !0 }, \"class-name\": { pattern: /(\\bclass\\s+)\\w+/i, lookbehind: !0 }, decorator: { pattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m, lookbehind: !0, alias: [\"annotation\", \"punctuation\"], inside: { punctuation: /\\./ } }, keyword: /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/, builtin: /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/, boolean: /\\b(?:False|None|True)\\b/, number: /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i, operator: /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/, punctuation: /[{}[\\];(),.:]/ }, p.languages.python[\"string-interpolation\"].inside.interpolation.inside.rest = p.languages.python, p.languages.py = p.languages.python, p.languages.json = { property: { pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/, lookbehind: !0, greedy: !0 }, string: { pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?!\\s*:)/, lookbehind: !0, greedy: !0 }, comment: { pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/, greedy: !0 }, number: /-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i, punctuation: /[{}[\\],]/, operator: /:/, boolean: /\\b(?:false|true)\\b/, null: { pattern: /\\bnull\\b/, alias: \"keyword\" } }, p.languages.webmanifest = p.languages.json;\nvar Lr = {};\nSr(Lr, {\n dracula: () => Dr,\n duotoneDark: () => Or,\n duotoneLight: () => Pr,\n github: () => Hr,\n gruvboxMaterialDark: () => fa,\n gruvboxMaterialLight: () => ha,\n jettwaveDark: () => oa,\n jettwaveLight: () => ca,\n nightOwl: () => Ur,\n nightOwlLight: () => Vr,\n oceanicNext: () => qr,\n okaidia: () => Wr,\n oneDark: () => da,\n oneLight: () => ga,\n palenight: () => Kr,\n shadesOfPurple: () => Jr,\n synthwave84: () => ea,\n ultramin: () => ra,\n vsDark: () => Ct,\n vsLight: () => la\n});\nvar Br = {\n plain: {\n color: \"#F8F8F2\",\n backgroundColor: \"#282A36\"\n },\n styles: [\n {\n types: [\"prolog\", \"constant\", \"builtin\"],\n style: {\n color: \"rgb(189, 147, 249)\"\n }\n },\n {\n types: [\"inserted\", \"function\"],\n style: {\n color: \"rgb(80, 250, 123)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgb(255, 85, 85)\"\n }\n },\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(255, 184, 108)\"\n }\n },\n {\n types: [\"punctuation\", \"symbol\"],\n style: {\n color: \"rgb(248, 248, 242)\"\n }\n },\n {\n types: [\"string\", \"char\", \"tag\", \"selector\"],\n style: {\n color: \"rgb(255, 121, 198)\"\n }\n },\n {\n types: [\"keyword\", \"variable\"],\n style: {\n color: \"rgb(189, 147, 249)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(98, 114, 164)\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"rgb(241, 250, 140)\"\n }\n }\n ]\n}, Dr = Br, Ir = {\n plain: {\n backgroundColor: \"#2a2734\",\n color: \"#9a86fd\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"doctype\", \"cdata\", \"punctuation\"],\n style: {\n color: \"#6c6783\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n },\n {\n types: [\"tag\", \"operator\", \"number\"],\n style: {\n color: \"#e09142\"\n }\n },\n {\n types: [\"property\", \"function\"],\n style: {\n color: \"#9a86fd\"\n }\n },\n {\n types: [\"tag-id\", \"selector\", \"atrule-id\"],\n style: {\n color: \"#eeebff\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"#c4b9fe\"\n }\n },\n {\n types: [\n \"boolean\",\n \"string\",\n \"entity\",\n \"url\",\n \"attr-value\",\n \"keyword\",\n \"control\",\n \"directive\",\n \"unit\",\n \"statement\",\n \"regex\",\n \"atrule\",\n \"placeholder\",\n \"variable\"\n ],\n style: {\n color: \"#ffcc99\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"#c4b9fe\"\n }\n }\n ]\n}, Or = Ir, Nr = {\n plain: {\n backgroundColor: \"#faf8f5\",\n color: \"#728fcb\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"doctype\", \"cdata\", \"punctuation\"],\n style: {\n color: \"#b6ad9a\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n },\n {\n types: [\"tag\", \"operator\", \"number\"],\n style: {\n color: \"#063289\"\n }\n },\n {\n types: [\"property\", \"function\"],\n style: {\n color: \"#b29762\"\n }\n },\n {\n types: [\"tag-id\", \"selector\", \"atrule-id\"],\n style: {\n color: \"#2d2006\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"#896724\"\n }\n },\n {\n types: [\n \"boolean\",\n \"string\",\n \"entity\",\n \"url\",\n \"attr-value\",\n \"keyword\",\n \"control\",\n \"directive\",\n \"unit\",\n \"statement\",\n \"regex\",\n \"atrule\"\n ],\n style: {\n color: \"#728fcb\"\n }\n },\n {\n types: [\"placeholder\", \"variable\"],\n style: {\n color: \"#93abdc\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"#896724\"\n }\n }\n ]\n}, Pr = Nr, $r = {\n plain: {\n color: \"#393A34\",\n backgroundColor: \"#f6f8fa\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"doctype\", \"cdata\"],\n style: {\n color: \"#999988\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n },\n {\n types: [\"string\", \"attr-value\"],\n style: {\n color: \"#e3116c\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"#393A34\"\n }\n },\n {\n types: [\n \"entity\",\n \"url\",\n \"symbol\",\n \"number\",\n \"boolean\",\n \"variable\",\n \"constant\",\n \"property\",\n \"regex\",\n \"inserted\"\n ],\n style: {\n color: \"#36acaa\"\n }\n },\n {\n types: [\"atrule\", \"keyword\", \"attr-name\", \"selector\"],\n style: {\n color: \"#00a4db\"\n }\n },\n {\n types: [\"function\", \"deleted\", \"tag\"],\n style: {\n color: \"#d73a49\"\n }\n },\n {\n types: [\"function-variable\"],\n style: {\n color: \"#6f42c1\"\n }\n },\n {\n types: [\"tag\", \"selector\", \"keyword\"],\n style: {\n color: \"#00009f\"\n }\n }\n ]\n}, Hr = $r, Mr = {\n plain: {\n color: \"#d6deeb\",\n backgroundColor: \"#011627\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(162, 191, 252)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgba(239, 83, 80, 0.56)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"inserted\", \"attr-name\"],\n style: {\n color: \"rgb(173, 219, 103)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(99, 119, 119)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"url\"],\n style: {\n color: \"rgb(173, 219, 103)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(214, 222, 235)\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"rgb(247, 140, 108)\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\"],\n style: {\n color: \"rgb(130, 170, 255)\"\n }\n },\n {\n // This was manually added after the auto-generation\n // so that punctuations are not italicised\n types: [\"punctuation\"],\n style: {\n color: \"rgb(199, 146, 234)\"\n }\n },\n {\n types: [\"selector\", \"doctype\"],\n style: {\n color: \"rgb(199, 146, 234)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(255, 203, 139)\"\n }\n },\n {\n types: [\"tag\", \"operator\", \"keyword\"],\n style: {\n color: \"rgb(127, 219, 202)\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"rgb(255, 88, 116)\"\n }\n },\n {\n types: [\"property\"],\n style: {\n color: \"rgb(128, 203, 196)\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n color: \"rgb(178, 204, 214)\"\n }\n }\n ]\n}, Ur = Mr, zr = {\n plain: {\n color: \"#403f53\",\n backgroundColor: \"#FBFBFB\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(162, 191, 252)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgba(239, 83, 80, 0.56)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"inserted\", \"attr-name\"],\n style: {\n color: \"rgb(72, 118, 214)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(152, 159, 177)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"builtin\", \"char\", \"constant\", \"url\"],\n style: {\n color: \"rgb(72, 118, 214)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(201, 103, 101)\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"rgb(170, 9, 130)\"\n }\n },\n {\n // This was manually added after the auto-generation\n // so that punctuations are not italicised\n types: [\"punctuation\"],\n style: {\n color: \"rgb(153, 76, 195)\"\n }\n },\n {\n types: [\"function\", \"selector\", \"doctype\"],\n style: {\n color: \"rgb(153, 76, 195)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(17, 17, 17)\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"rgb(153, 76, 195)\"\n }\n },\n {\n types: [\"operator\", \"property\", \"keyword\", \"namespace\"],\n style: {\n color: \"rgb(12, 150, 155)\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"rgb(188, 84, 84)\"\n }\n }\n ]\n}, Vr = zr, Z = {\n char: \"#D8DEE9\",\n comment: \"#999999\",\n keyword: \"#c5a5c5\",\n primitive: \"#5a9bcf\",\n string: \"#8dc891\",\n variable: \"#d7deea\",\n boolean: \"#ff8b50\",\n tag: \"#fc929e\",\n function: \"#79b6f2\",\n className: \"#FAC863\"\n}, Gr = {\n plain: {\n backgroundColor: \"#282c34\",\n color: \"#ffffff\"\n },\n styles: [\n {\n types: [\"attr-name\"],\n style: {\n color: Z.keyword\n }\n },\n {\n types: [\"attr-value\"],\n style: {\n color: Z.string\n }\n },\n {\n types: [\n \"comment\",\n \"block-comment\",\n \"prolog\",\n \"doctype\",\n \"cdata\",\n \"shebang\"\n ],\n style: {\n color: Z.comment\n }\n },\n {\n types: [\n \"property\",\n \"number\",\n \"function-name\",\n \"constant\",\n \"symbol\",\n \"deleted\"\n ],\n style: {\n color: Z.primitive\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: Z.boolean\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: Z.tag\n }\n },\n {\n types: [\"string\"],\n style: {\n color: Z.string\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: Z.string\n }\n },\n {\n types: [\"selector\", \"char\", \"builtin\", \"inserted\"],\n style: {\n color: Z.char\n }\n },\n {\n types: [\"function\"],\n style: {\n color: Z.function\n }\n },\n {\n types: [\"operator\", \"entity\", \"url\", \"variable\"],\n style: {\n color: Z.variable\n }\n },\n {\n types: [\"keyword\"],\n style: {\n color: Z.keyword\n }\n },\n {\n types: [\"atrule\", \"class-name\"],\n style: {\n color: Z.className\n }\n },\n {\n types: [\"important\"],\n style: {\n fontWeight: \"400\"\n }\n },\n {\n types: [\"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n }\n ]\n}, qr = Gr, Zr = {\n plain: {\n color: \"#f8f8f2\",\n backgroundColor: \"#272822\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(162, 191, 252)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"#f92672\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n color: \"rgb(173, 219, 103)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"#8292a2\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"url\"],\n style: {\n color: \"#a6e22e\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"#f8f8f2\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"#ae81ff\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\", \"class-name\"],\n style: {\n color: \"#e6db74\"\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: \"#f8f8f2\"\n }\n },\n {\n types: [\"selector\", \"doctype\"],\n style: {\n color: \"#a6e22e\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"tag\", \"operator\", \"keyword\"],\n style: {\n color: \"#66d9ef\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"#ae81ff\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n color: \"rgb(178, 204, 214)\",\n opacity: 0.7\n }\n },\n {\n types: [\"tag\", \"property\"],\n style: {\n color: \"#f92672\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"#a6e22e !important\"\n }\n },\n {\n types: [\"doctype\"],\n style: {\n color: \"#8292a2\"\n }\n },\n {\n types: [\"rule\"],\n style: {\n color: \"#e6db74\"\n }\n }\n ]\n}, Wr = Zr, Yr = {\n plain: {\n color: \"#bfc7d5\",\n backgroundColor: \"#292d3e\"\n },\n styles: [\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(105, 112, 152)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"inserted\"],\n style: {\n color: \"rgb(195, 232, 141)\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"rgb(247, 140, 108)\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\"],\n style: {\n color: \"rgb(130, 170, 255)\"\n }\n },\n {\n types: [\"punctuation\", \"selector\"],\n style: {\n color: \"rgb(199, 146, 234)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(191, 199, 213)\"\n }\n },\n {\n types: [\"class-name\", \"attr-name\"],\n style: {\n color: \"rgb(255, 203, 107)\"\n }\n },\n {\n types: [\"tag\", \"deleted\"],\n style: {\n color: \"rgb(255, 85, 114)\"\n }\n },\n {\n types: [\"operator\"],\n style: {\n color: \"rgb(137, 221, 255)\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"rgb(255, 88, 116)\"\n }\n },\n {\n types: [\"keyword\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"doctype\"],\n style: {\n color: \"rgb(199, 146, 234)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n color: \"rgb(178, 204, 214)\"\n }\n },\n {\n types: [\"url\"],\n style: {\n color: \"rgb(221, 221, 221)\"\n }\n }\n ]\n}, Kr = Yr, Xr = {\n plain: {\n color: \"#9EFEFF\",\n backgroundColor: \"#2D2A55\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(255, 238, 128)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgba(239, 83, 80, 0.56)\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n color: \"rgb(173, 219, 103)\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(179, 98, 255)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: \"rgb(255, 255, 255)\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"rgb(255, 98, 140)\"\n }\n },\n {\n types: [\"string\", \"url\"],\n style: {\n color: \"rgb(165, 255, 144)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(255, 238, 128)\"\n }\n },\n {\n types: [\"number\", \"boolean\"],\n style: {\n color: \"rgb(255, 98, 140)\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"rgb(255, 180, 84)\"\n }\n },\n {\n types: [\n \"keyword\",\n \"operator\",\n \"property\",\n \"namespace\",\n \"tag\",\n \"selector\",\n \"doctype\"\n ],\n style: {\n color: \"rgb(255, 157, 0)\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\", \"class-name\"],\n style: {\n color: \"rgb(250, 208, 0)\"\n }\n }\n ]\n}, Jr = Xr, Qr = {\n plain: {\n backgroundColor: \"linear-gradient(to bottom, #2a2139 75%, #34294f)\",\n backgroundImage: \"#34294f\",\n color: \"#f92aad\",\n textShadow: \"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3\"\n },\n styles: [\n {\n types: [\"comment\", \"block-comment\", \"prolog\", \"doctype\", \"cdata\"],\n style: {\n color: \"#495495\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: \"#ccc\"\n }\n },\n {\n types: [\n \"tag\",\n \"attr-name\",\n \"namespace\",\n \"number\",\n \"unit\",\n \"hexcode\",\n \"deleted\"\n ],\n style: {\n color: \"#e2777a\"\n }\n },\n {\n types: [\"property\", \"selector\"],\n style: {\n color: \"#72f1b8\",\n textShadow: \"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475\"\n }\n },\n {\n types: [\"function-name\"],\n style: {\n color: \"#6196cc\"\n }\n },\n {\n types: [\"boolean\", \"selector-id\", \"function\"],\n style: {\n color: \"#fdfdfd\",\n textShadow: \"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975\"\n }\n },\n {\n types: [\"class-name\", \"maybe-class-name\", \"builtin\"],\n style: {\n color: \"#fff5f6\",\n textShadow: \"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75\"\n }\n },\n {\n types: [\"constant\", \"symbol\"],\n style: {\n color: \"#f92aad\",\n textShadow: \"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3\"\n }\n },\n {\n types: [\"important\", \"atrule\", \"keyword\", \"selector-class\"],\n style: {\n color: \"#f4eee4\",\n textShadow: \"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575\"\n }\n },\n {\n types: [\"string\", \"char\", \"attr-value\", \"regex\", \"variable\"],\n style: {\n color: \"#f87c32\"\n }\n },\n {\n types: [\"parameter\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"entity\", \"url\"],\n style: {\n color: \"#67cdcc\"\n }\n },\n {\n types: [\"operator\"],\n style: {\n color: \"ffffffee\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"entity\"],\n style: {\n cursor: \"help\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n color: \"green\"\n }\n }\n ]\n}, ea = Qr, ta = {\n plain: {\n color: \"#282a2e\",\n backgroundColor: \"#ffffff\"\n },\n styles: [\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(197, 200, 198)\"\n }\n },\n {\n types: [\"string\", \"number\", \"builtin\", \"variable\"],\n style: {\n color: \"rgb(150, 152, 150)\"\n }\n },\n {\n types: [\"class-name\", \"function\", \"tag\", \"attr-name\"],\n style: {\n color: \"rgb(40, 42, 46)\"\n }\n }\n ]\n}, ra = ta, aa = {\n plain: {\n color: \"#9CDCFE\",\n backgroundColor: \"#1E1E1E\"\n },\n styles: [\n {\n types: [\"prolog\"],\n style: {\n color: \"rgb(0, 0, 128)\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(106, 153, 85)\"\n }\n },\n {\n types: [\"builtin\", \"changed\", \"keyword\", \"interpolation-punctuation\"],\n style: {\n color: \"rgb(86, 156, 214)\"\n }\n },\n {\n types: [\"number\", \"inserted\"],\n style: {\n color: \"rgb(181, 206, 168)\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"rgb(100, 102, 149)\"\n }\n },\n {\n types: [\"attr-name\", \"variable\"],\n style: {\n color: \"rgb(156, 220, 254)\"\n }\n },\n {\n types: [\"deleted\", \"string\", \"attr-value\", \"template-punctuation\"],\n style: {\n color: \"rgb(206, 145, 120)\"\n }\n },\n {\n types: [\"selector\"],\n style: {\n color: \"rgb(215, 186, 125)\"\n }\n },\n {\n // Fix tag color\n types: [\"tag\"],\n style: {\n color: \"rgb(78, 201, 176)\"\n }\n },\n {\n // Fix tag color for HTML\n types: [\"tag\"],\n languages: [\"markup\"],\n style: {\n color: \"rgb(86, 156, 214)\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"rgb(212, 212, 212)\"\n }\n },\n {\n // Fix punctuation color for HTML\n types: [\"punctuation\"],\n languages: [\"markup\"],\n style: {\n color: \"#808080\"\n }\n },\n {\n types: [\"function\"],\n style: {\n color: \"rgb(220, 220, 170)\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(78, 201, 176)\"\n }\n },\n {\n types: [\"char\"],\n style: {\n color: \"rgb(209, 105, 105)\"\n }\n }\n ]\n}, Ct = aa, na = {\n plain: {\n color: \"#000000\",\n backgroundColor: \"#ffffff\"\n },\n styles: [\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(0, 128, 0)\"\n }\n },\n {\n types: [\"builtin\"],\n style: {\n color: \"rgb(0, 112, 193)\"\n }\n },\n {\n types: [\"number\", \"variable\", \"inserted\"],\n style: {\n color: \"rgb(9, 134, 88)\"\n }\n },\n {\n types: [\"operator\"],\n style: {\n color: \"rgb(0, 0, 0)\"\n }\n },\n {\n types: [\"constant\", \"char\"],\n style: {\n color: \"rgb(129, 31, 63)\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"rgb(128, 0, 0)\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"rgb(255, 0, 0)\"\n }\n },\n {\n types: [\"deleted\", \"string\"],\n style: {\n color: \"rgb(163, 21, 21)\"\n }\n },\n {\n types: [\"changed\", \"punctuation\"],\n style: {\n color: \"rgb(4, 81, 165)\"\n }\n },\n {\n types: [\"function\", \"keyword\"],\n style: {\n color: \"rgb(0, 0, 255)\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(38, 127, 153)\"\n }\n }\n ]\n}, la = na, ia = {\n plain: {\n color: \"#f8fafc\",\n backgroundColor: \"#011627\"\n },\n styles: [\n {\n types: [\"prolog\"],\n style: {\n color: \"#000080\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"#6A9955\"\n }\n },\n {\n types: [\"builtin\", \"changed\", \"keyword\", \"interpolation-punctuation\"],\n style: {\n color: \"#569CD6\"\n }\n },\n {\n types: [\"number\", \"inserted\"],\n style: {\n color: \"#B5CEA8\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"#f8fafc\"\n }\n },\n {\n types: [\"attr-name\", \"variable\"],\n style: {\n color: \"#9CDCFE\"\n }\n },\n {\n types: [\"deleted\", \"string\", \"attr-value\", \"template-punctuation\"],\n style: {\n color: \"#cbd5e1\"\n }\n },\n {\n types: [\"selector\"],\n style: {\n color: \"#D7BA7D\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"tag\"],\n languages: [\"markup\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"#D4D4D4\"\n }\n },\n {\n types: [\"punctuation\"],\n languages: [\"markup\"],\n style: {\n color: \"#808080\"\n }\n },\n {\n types: [\"function\"],\n style: {\n color: \"#7dd3fc\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"char\"],\n style: {\n color: \"#D16969\"\n }\n }\n ]\n}, oa = ia, sa = {\n plain: {\n color: \"#0f172a\",\n backgroundColor: \"#f1f5f9\"\n },\n styles: [\n {\n types: [\"prolog\"],\n style: {\n color: \"#000080\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"#6A9955\"\n }\n },\n {\n types: [\"builtin\", \"changed\", \"keyword\", \"interpolation-punctuation\"],\n style: {\n color: \"#0c4a6e\"\n }\n },\n {\n types: [\"number\", \"inserted\"],\n style: {\n color: \"#B5CEA8\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"#0f172a\"\n }\n },\n {\n types: [\"attr-name\", \"variable\"],\n style: {\n color: \"#0c4a6e\"\n }\n },\n {\n types: [\"deleted\", \"string\", \"attr-value\", \"template-punctuation\"],\n style: {\n color: \"#64748b\"\n }\n },\n {\n types: [\"selector\"],\n style: {\n color: \"#D7BA7D\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"tag\"],\n languages: [\"markup\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"#475569\"\n }\n },\n {\n types: [\"punctuation\"],\n languages: [\"markup\"],\n style: {\n color: \"#808080\"\n }\n },\n {\n types: [\"function\"],\n style: {\n color: \"#0e7490\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"char\"],\n style: {\n color: \"#D16969\"\n }\n }\n ]\n}, ca = sa, ua = {\n plain: {\n backgroundColor: \"hsl(220, 13%, 18%)\",\n color: \"hsl(220, 14%, 71%)\",\n textShadow: \"0 1px rgba(0, 0, 0, 0.3)\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"cdata\"],\n style: {\n color: \"hsl(220, 10%, 40%)\"\n }\n },\n {\n types: [\"doctype\", \"punctuation\", \"entity\"],\n style: {\n color: \"hsl(220, 14%, 71%)\"\n }\n },\n {\n types: [\n \"attr-name\",\n \"class-name\",\n \"maybe-class-name\",\n \"boolean\",\n \"constant\",\n \"number\",\n \"atrule\"\n ],\n style: { color: \"hsl(29, 54%, 61%)\" }\n },\n {\n types: [\"keyword\"],\n style: { color: \"hsl(286, 60%, 67%)\" }\n },\n {\n types: [\"property\", \"tag\", \"symbol\", \"deleted\", \"important\"],\n style: {\n color: \"hsl(355, 65%, 65%)\"\n }\n },\n {\n types: [\n \"selector\",\n \"string\",\n \"char\",\n \"builtin\",\n \"inserted\",\n \"regex\",\n \"attr-value\"\n ],\n style: {\n color: \"hsl(95, 38%, 62%)\"\n }\n },\n {\n types: [\"variable\", \"operator\", \"function\"],\n style: {\n color: \"hsl(207, 82%, 66%)\"\n }\n },\n {\n types: [\"url\"],\n style: {\n color: \"hsl(187, 47%, 55%)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"hsl(220, 14%, 71%)\"\n }\n }\n ]\n}, da = ua, pa = {\n plain: {\n backgroundColor: \"hsl(230, 1%, 98%)\",\n color: \"hsl(230, 8%, 24%)\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"cdata\"],\n style: {\n color: \"hsl(230, 4%, 64%)\"\n }\n },\n {\n types: [\"doctype\", \"punctuation\", \"entity\"],\n style: {\n color: \"hsl(230, 8%, 24%)\"\n }\n },\n {\n types: [\n \"attr-name\",\n \"class-name\",\n \"boolean\",\n \"constant\",\n \"number\",\n \"atrule\"\n ],\n style: {\n color: \"hsl(35, 99%, 36%)\"\n }\n },\n {\n types: [\"keyword\"],\n style: {\n color: \"hsl(301, 63%, 40%)\"\n }\n },\n {\n types: [\"property\", \"tag\", \"symbol\", \"deleted\", \"important\"],\n style: {\n color: \"hsl(5, 74%, 59%)\"\n }\n },\n {\n types: [\n \"selector\",\n \"string\",\n \"char\",\n \"builtin\",\n \"inserted\",\n \"regex\",\n \"attr-value\",\n \"punctuation\"\n ],\n style: {\n color: \"hsl(119, 34%, 47%)\"\n }\n },\n {\n types: [\"variable\", \"operator\", \"function\"],\n style: {\n color: \"hsl(221, 87%, 60%)\"\n }\n },\n {\n types: [\"url\"],\n style: {\n color: \"hsl(198, 99%, 37%)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"hsl(230, 8%, 24%)\"\n }\n }\n ]\n}, ga = pa, ya = {\n plain: {\n color: \"#ebdbb2\",\n backgroundColor: \"#292828\"\n },\n styles: [\n {\n types: [\n \"imports\",\n \"class-name\",\n \"maybe-class-name\",\n \"constant\",\n \"doctype\",\n \"builtin\",\n \"function\"\n ],\n style: {\n color: \"#d8a657\"\n }\n },\n {\n types: [\"property-access\"],\n style: {\n color: \"#7daea3\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#e78a4e\"\n }\n },\n {\n types: [\"attr-name\", \"char\", \"url\", \"regex\"],\n style: {\n color: \"#a9b665\"\n }\n },\n {\n types: [\"attr-value\", \"string\"],\n style: {\n color: \"#89b482\"\n }\n },\n {\n types: [\"comment\", \"prolog\", \"cdata\", \"operator\", \"inserted\"],\n style: {\n color: \"#a89984\"\n }\n },\n {\n types: [\n \"delimiter\",\n \"boolean\",\n \"keyword\",\n \"selector\",\n \"important\",\n \"atrule\",\n \"property\",\n \"variable\",\n \"deleted\"\n ],\n style: {\n color: \"#ea6962\"\n }\n },\n {\n types: [\"entity\", \"number\", \"symbol\"],\n style: {\n color: \"#d3869b\"\n }\n }\n ]\n}, fa = ya, ba = {\n plain: {\n color: \"#654735\",\n backgroundColor: \"#f9f5d7\"\n },\n styles: [\n {\n types: [\n \"delimiter\",\n \"boolean\",\n \"keyword\",\n \"selector\",\n \"important\",\n \"atrule\",\n \"property\",\n \"variable\",\n \"deleted\"\n ],\n style: {\n color: \"#af2528\"\n }\n },\n {\n types: [\n \"imports\",\n \"class-name\",\n \"maybe-class-name\",\n \"constant\",\n \"doctype\",\n \"builtin\"\n ],\n style: {\n color: \"#b4730e\"\n }\n },\n {\n types: [\"string\", \"attr-value\"],\n style: {\n color: \"#477a5b\"\n }\n },\n {\n types: [\"property-access\"],\n style: {\n color: \"#266b79\"\n }\n },\n {\n types: [\"function\", \"attr-name\", \"char\", \"url\"],\n style: {\n color: \"#72761e\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#b94c07\"\n }\n },\n {\n types: [\"comment\", \"prolog\", \"cdata\", \"operator\", \"inserted\"],\n style: {\n color: \"#a89984\"\n }\n },\n {\n types: [\"entity\", \"number\", \"symbol\"],\n style: {\n color: \"#924f79\"\n }\n }\n ]\n}, ha = ba, xa = (e) => Ne(\n (t) => {\n var r = t, { className: i, style: c } = r, g = vt(r, [\"className\", \"style\", \"line\"]);\n const o = Te(Q({}, g), {\n className: He(\"token-line\", i)\n });\n return typeof e == \"object\" && \"plain\" in e && (o.style = e.plain), typeof c == \"object\" && (o.style = Q(Q({}, o.style || {}), c)), o;\n },\n [e]\n), ma = (e) => {\n const t = Ne(\n ({ types: r, empty: i }) => {\n if (e != null) {\n {\n if (r.length === 1 && r[0] === \"plain\")\n return i != null ? { display: \"inline-block\" } : void 0;\n if (r.length === 1 && i != null)\n return e[r[0]];\n }\n return Object.assign(\n i != null ? { display: \"inline-block\" } : {},\n ...r.map((c) => e[c])\n );\n }\n },\n [e]\n );\n return Ne(\n (r) => {\n var i = r, { token: c, className: g, style: o } = i, b = vt(i, [\"token\", \"className\", \"style\"]);\n const s = Te(Q({}, b), {\n className: He(\"token\", ...c.types, g),\n children: c.content,\n style: t(c)\n });\n return o != null && (s.style = Q(Q({}, s.style || {}), o)), s;\n },\n [t]\n );\n}, ka = /\\r\\n|\\r|\\n/, ut = (e) => {\n e.length === 0 ? e.push({\n types: [\"plain\"],\n content: `\n`,\n empty: !0\n }) : e.length === 1 && e[0].content === \"\" && (e[0].content = `\n`, e[0].empty = !0);\n}, dt = (e, t) => {\n const r = e.length;\n return r > 0 && e[r - 1] === t ? e : e.concat(t);\n}, va = (e) => {\n const t = [[]], r = [e], i = [0], c = [e.length];\n let g = 0, o = 0, b = [];\n const s = [b];\n for (; o > -1; ) {\n for (; (g = i[o]++) < c[o]; ) {\n let m, k = t[o];\n const E = r[o][g];\n if (typeof E == \"string\" ? (k = o > 0 ? k : [\"plain\"], m = E) : (k = dt(k, E.type), E.alias && (k = dt(k, E.alias)), m = E.content), typeof m != \"string\") {\n o++, t.push(k), r.push(m), i.push(0), c.push(m.length);\n continue;\n }\n const _ = m.split(ka), d = _.length;\n b.push({\n types: k,\n content: _[0]\n });\n for (let u = 1; u < d; u++)\n ut(b), s.push(b = []), b.push({\n types: k,\n content: _[u]\n });\n }\n o--, t.pop(), r.pop(), i.pop(), c.pop();\n }\n return ut(b), s;\n}, pt = va, Ca = ({ prism: e, code: t, grammar: r, language: i }) => gt(() => {\n if (r == null)\n return pt([t]);\n const c = {\n code: t,\n grammar: r,\n language: i,\n tokens: []\n };\n return e.hooks.run(\"before-tokenize\", c), c.tokens = e.tokenize(t, r), e.hooks.run(\"after-tokenize\", c), pt(c.tokens);\n}, [\n t,\n r,\n i,\n // prism is a stable import\n e\n]), wa = (e, t) => {\n const { plain: r } = e, i = e.styles.reduce((c, g) => {\n const { languages: o, style: b } = g;\n return o && !o.includes(t) || g.types.forEach((s) => {\n const m = Q(Q({}, c[s]), b);\n c[s] = m;\n }), c;\n }, {});\n return i.root = r, i.plain = Te(Q({}, r), { backgroundColor: void 0 }), i;\n}, Ea = wa, Fa = ({\n children: e,\n language: t,\n code: r,\n theme: i,\n prism: c\n}) => {\n const g = t.toLowerCase(), o = Ea(i, g), b = xa(o), s = ma(o), m = c.languages[g], k = Ca({ prism: c, language: g, code: r, grammar: m });\n return e({\n tokens: k,\n className: `prism-code language-${g}`,\n style: o != null ? o.root : {},\n getLineProps: b,\n getTokenProps: s\n });\n}, _a = (e) => Qt(Fa, Te(Q({}, e), {\n prism: e.prism || p,\n theme: e.theme || Ct,\n code: e.code,\n language: e.language\n}));\n/*! Bundled license information:\n\nprismjs/prism.js:\n (**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n *)\n*/\nconst Aa = (e, t) => t.some((r) => {\n if (typeof r == \"number\")\n return e === r;\n const [i, c] = r.split(\":\").map((g) => parseInt(g));\n return i <= e && e <= c;\n}), Sa = (e, t, r) => r.some(([i, [c, g]]) => i === e && c <= t && t <= g), ja = (e, t) => e.split(new RegExp(`(${t.map(([r]) => r).join(\"|\")})`)).filter(Boolean), Ta = (e) => e.map((t) => {\n t = t.startsWith(\"/\") ? t : \"/\" + t;\n const [, r, i = \"0:Infinity\"] = t.split(\"/\"), [c, g = c] = i.split(\":\").map((o) => Number(o));\n return [r, [c, g]];\n}), wt = (e, t) => () => {\n const r = tr(e);\n if (r === void 0)\n throw new Error(t);\n return r;\n}, Re = (e) => Object.assign(er(e), {\n displayName: e.displayName ?? e.name\n}), Et = yt(void 0), Ft = yt(void 0), _t = wt(Et, 'Could not find nearest <CodeBlock /> component. Please wrap this component with a <CodeBlock /> component imported from \"react-code-block\".'), Ue = wt(Ft, 'Could not find nearest <CodeBlock.Code /> component. Please wrap this component with <CodeBlock.Code /> component imported from \"react-code-block\".'), ae = ({ code: e, words: t = [], lines: r = [], children: i, ...c }) => {\n const g = gt(() => Ta(t), [t]);\n return n.jsx(Et.Provider, { value: { code: e.trim(), words: g, lines: r, ...c }, children: i });\n}, Ra = ({ as: e, children: t, ...r }, i) => {\n const { lines: c, words: g, ...o } = _t(), b = e ?? \"pre\";\n return n.jsx(_a, { ...o, children: (s) => n.jsx(b, { ...r, ref: i, children: s.tokens.map((m, k) => {\n const h = k + 1, E = Aa(h, c);\n return n.jsx(Ft.Provider, { value: { highlight: s, line: m, lineNumber: h }, children: typeof t == \"function\" ? t({ isLineHighlighted: E, lineNumber: h }, k) : t }, k);\n }) }) });\n}, La = ({ as: e, children: t, className: r, ...i }, c) => {\n const { highlight: g, line: o } = Ue(), { getLineProps: b } = g, s = e ?? \"div\";\n return n.jsx(s, { ...b({ line: o, className: r }), ...i, ref: c, children: t });\n}, Ba = ({ as: e, children: t = ({ children: g }) => n.jsx(\"span\", { children: g }), className: r, ...i }, c) => {\n const { words: g } = _t(), { line: o, highlight: b, lineNumber: s } = Ue(), { getTokenProps: m } = b, k = e ?? \"span\";\n return n.jsx(_e.Fragment, { children: o.map((h, E) => {\n const { children: _, ...d } = m({\n token: h,\n className: r\n }), u = g.length ? ja(_, g) : [_];\n return n.jsx(_e.Fragment, { children: u.map((y, v) => n.jsx(k, { ...d, ...i, ref: c, children: t({\n children: y,\n isTokenHighlighted: Sa(y, s, g)\n }) }, v)) }, E);\n }) });\n}, Da = ({ as: e, ...t }, r) => {\n const { lineNumber: i } = Ue(), c = e ?? \"span\";\n return n.jsx(c, { ...t, ref: r, children: i });\n};\nae.Code = Re(Ra);\nae.LineContent = Re(La);\nae.Token = Re(Ba);\nae.LineNumber = Re(Da);\nconst Xa = ({ title: e, code: t, language: r = \"tsx\", highlightedWords: i = [] }) => {\n const [c, g] = ge(!1), o = /* @__PURE__ */ n.jsx(\n ht,\n {\n \"aria-label\": \"Copy code block to clipboard\",\n size: \"small\",\n variant: \"secondary\",\n iconAfter: c ? /* @__PURE__ */ n.jsx(bt, {}) : /* @__PURE__ */ n.jsx(nr, {}),\n onClick: () => {\n navigator.clipboard.writeText(t), g(!0), setTimeout(() => g(!1), 2e3);\n }\n }\n );\n return /* @__PURE__ */ n.jsxs(\"div\", { className: \"flex flex-col py-2 gap-3\", children: [\n e && /* @__PURE__ */ n.jsx(\"div\", { className: \"flex flex-col py-2\", children: /* @__PURE__ */ n.jsx(z, { variant: \"H4\", children: e }) }),\n /* @__PURE__ */ n.jsx(ae, { code: t, language: r, words: i, children: /* @__PURE__ */ n.jsxs(\"div\", { className: \"relative group\", children: [\n /* @__PURE__ */ n.jsx(ae.Code, { className: \"bg-background-primary-dark p-4 rounded-md overflow-x-auto text-[13px] font-code\", children: /* @__PURE__ */ n.jsx(ae.LineContent, { children: /* @__PURE__ */ n.jsx(ae.Token, { children: ({ isTokenHighlighted: b, children: s }) => /* @__PURE__ */ n.jsx(\"span\", { className: b ? \"bg-system-fill-primary-dark rounded-md px-1 py-0.5\" : \"\", children: s }) }) }) }),\n /* @__PURE__ */ n.jsx(\"div\", { className: \"absolute top-2 right-2 invisible group-hover:visible\", children: o })\n ] }) })\n ] });\n}, Ja = ({ children: e, onExit: t }) => {\n const { ref: r } = ze({\n isActive: !0,\n onDismiss: t,\n includeEscape: !0\n });\n return Se(() => {\n r.current?.focus();\n }, [r]), /* @__PURE__ */ n.jsx(\n \"div\",\n {\n ref: r,\n className: \"flex flex-col z-10 items-center justify-center fixed inset-0 bg-overlay-background-default-light dark:bg-overlay-background-default-dark outline-hidden\",\n tabIndex: -1,\n onClick: (i) => {\n i.target === i.currentTarget && t();\n },\n children: e\n }\n );\n}, Qa = ({ title: e, texts: t }) => /* @__PURE__ */ n.jsxs(\"div\", { className: \"flex flex-col py-3 rounded-lg bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\", children: [\n /* @__PURE__ */ n.jsx(\"div\", { className: \"flex px-3 py-2\", children: /* @__PURE__ */ n.jsx(z, { variant: \"H4\", children: e }) }),\n /* @__PURE__ */ n.jsx(\"div\", { className: \"flex flex-col gap-6 px-3 py-1\", children: t.map((r, i) => /* @__PURE__ */ n.jsx(z, { children: r }, i)) })\n] }), e2 = ({ size: e = 7, animation: t = \"animate-spin\" }) => /* @__PURE__ */ n.jsx(\"div\", { className: \"flex flex-col items-center justify-center\", children: /* @__PURE__ */ n.jsx(\"div\", { className: D(\"flex items-center justify-center\", t), children: /* @__PURE__ */ n.jsx(Ia, { size: e * 4 }) }) }), Ia = ({ dark: e, size: t }) => e ? /* @__PURE__ */ n.jsxs(\n \"svg\",\n {\n width: t || 413,\n height: t || 413,\n viewBox: \"0 0 413 413\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ n.jsxs(\"g\", { clipPath: \"url(#clip0_1096_247)\", children: [\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"207\", cy: \"206\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"324\", cy: \"207\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"258\", cy: \"236\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"258\", cy: \"177\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"156\", cy: \"177\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"207\", cy: \"266\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"207\", cy: \"147\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"207\", cy: \"89\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"148\", cy: \"105\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"105\", cy: \"147\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"89\", cy: \"206\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"148\", cy: \"308\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"207\", cy: \"324\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"265\", cy: \"308\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"308\", cy: \"266\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"105\", cy: \"266\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"156\", cy: \"236\", r: \"20\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"265\", cy: \"105\", r: \"20\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"309\", cy: \"147\", r: \"20\", fill: \"#FF6832\" })\n ] }),\n /* @__PURE__ */ n.jsx(\"defs\", { children: /* @__PURE__ */ n.jsx(\"clipPath\", { id: \"clip0_1096_247\", children: /* @__PURE__ */ n.jsx(\"rect\", { width: \"275\", height: \"275\", fill: \"white\", transform: \"translate(69 69)\" }) }) })\n ]\n }\n) : /* @__PURE__ */ n.jsxs(\n \"svg\",\n {\n width: t || 413,\n height: t || 413,\n viewBox: \"0 0 413 413\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ n.jsxs(\"g\", { clipPath: \"url(#clip0_1096_218)\", children: [\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"207\", cy: \"206\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"324\", cy: \"207\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"258\", cy: \"236\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"258\", cy: \"177\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"156\", cy: \"177\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"207\", cy: \"266\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"207\", cy: \"147\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"207\", cy: \"89\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"148\", cy: \"105\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"105\", cy: \"147\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"89\", cy: \"206\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"148\", cy: \"308\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"207\", cy: \"324\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"265\", cy: \"308\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"308\", cy: \"266\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"105\", cy: \"266\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"156\", cy: \"236\", r: \"20\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"265\", cy: \"105\", r: \"20\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"309\", cy: \"147\", r: \"20\", fill: \"#FF6832\" })\n ] }),\n /* @__PURE__ */ n.jsx(\"defs\", { children: /* @__PURE__ */ n.jsx(\"clipPath\", { id: \"clip0_1096_218\", children: /* @__PURE__ */ n.jsx(\"rect\", { width: \"275\", height: \"275\", fill: \"white\", transform: \"translate(69 69)\" }) }) })\n ]\n }\n), t2 = ({ dark: e, width: t, height: r }) => {\n const g = 3.1666666666666665;\n return r ? t = r * g : t ? r = t / g : (r = 48, t = 152), e ? /* @__PURE__ */ n.jsxs(\"svg\", { width: t, height: r, viewBox: \"0 0 152 48\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", children: [\n /* @__PURE__ */ n.jsxs(\"g\", { clipPath: \"url(#clip0_8_5921)\", children: [\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"23.4698\", cy: \"23.3296\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"39.9786\", cy: \"23.4703\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"30.667\", cy: \"27.5621\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"30.667\", cy: \"19.2378\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"16.2749\", cy: \"19.2378\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"23.4698\", cy: \"31.795\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"23.4698\", cy: \"15.0049\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"23.4698\", cy: \"6.82182\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"15.146\", cy: \"9.07914\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"9.08012\", cy: \"15.0049\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"6.82182\", cy: \"23.3296\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"15.146\", cy: \"37.7207\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"23.4698\", cy: \"39.9781\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"31.6534\", cy: \"37.7207\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"37.7203\", cy: \"31.795\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"9.08012\", cy: \"31.795\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"16.2749\", cy: \"27.5621\", r: \"2.82182\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"31.6534\", cy: \"9.07914\", r: \"2.82182\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"37.8619\", cy: \"15.0049\", r: \"2.82182\", fill: \"#FF6832\" }),\n /* @__PURE__ */ n.jsx(\n \"path\",\n {\n d: \"M60.112 33V16.2H63.76L72.568 28.2L71.776 28.08C71.696 27.552 71.632 27.048 71.584 26.568C71.536 26.088 71.488 25.616 71.44 25.152C71.408 24.688 71.376 24.216 71.344 23.736C71.328 23.256 71.312 22.736 71.296 22.176C71.296 21.616 71.296 21.008 71.296 20.352V16.2H75.256V33H71.56L62.368 20.616L63.592 20.784C63.672 21.552 63.736 22.208 63.784 22.752C63.848 23.28 63.896 23.752 63.928 24.168C63.976 24.584 64.008 24.96 64.024 25.296C64.04 25.632 64.048 25.968 64.048 26.304C64.064 26.624 64.072 26.984 64.072 27.384V33H60.112ZM85.1354 33.24C83.7274 33.24 82.5034 32.96 81.4634 32.4C80.4234 31.824 79.6154 31.048 79.0394 30.072C78.4634 29.08 78.1754 27.952 78.1754 26.688C78.1754 25.712 78.3354 24.816 78.6554 24C78.9754 23.184 79.4234 22.48 79.9994 21.888C80.5754 21.28 81.2554 20.816 82.0394 20.496C82.8394 20.16 83.7114 19.992 84.6554 19.992C85.5514 19.992 86.3674 20.152 87.1034 20.472C87.8554 20.792 88.5034 21.24 89.0474 21.816C89.5914 22.392 90.0074 23.072 90.2954 23.856C90.5834 24.64 90.7114 25.496 90.6794 26.424L90.6554 27.456H80.5034L79.9514 25.296H87.5354L87.1274 25.752V25.272C87.0954 24.872 86.9674 24.52 86.7434 24.216C86.5354 23.896 86.2554 23.648 85.9034 23.472C85.5514 23.296 85.1514 23.208 84.7034 23.208C84.0794 23.208 83.5434 23.336 83.0954 23.592C82.6634 23.832 82.3354 24.192 82.1114 24.672C81.8874 25.136 81.7754 25.712 81.7754 26.4C81.7754 27.104 81.9194 27.72 82.2074 28.248C82.5114 28.76 82.9434 29.16 83.5034 29.448C84.0794 29.736 84.7594 29.88 85.5434 29.88C86.0874 29.88 86.5674 29.8 86.9834 29.64C87.4154 29.48 87.8794 29.208 88.3754 28.824L90.1754 31.368C89.6794 31.8 89.1514 32.152 88.5914 32.424C88.0314 32.696 87.4554 32.896 86.8634 33.024C86.2874 33.168 85.7114 33.24 85.1354 33.24ZM93.1019 33V20.256H96.7499L96.8699 22.56L96.3659 22.584C96.5579 22.168 96.7979 21.8 97.0859 21.48C97.3899 21.16 97.7259 20.896 98.0939 20.688C98.4779 20.464 98.8699 20.296 99.2699 20.184C99.6859 20.072 100.102 20.016 100.518 20.016C101.142 20.016 101.71 20.112 102.222 20.304C102.734 20.496 103.182 20.808 103.566 21.24C103.95 21.656 104.254 22.224 104.478 22.944L103.878 22.896L104.07 22.512C104.278 22.128 104.542 21.784 104.862 21.48C105.198 21.16 105.566 20.896 105.966 20.688C106.366 20.464 106.782 20.296 107.214 20.184C107.646 20.072 108.062 20.016 108.462 20.016C109.47 20.016 110.31 20.216 110.982 20.616C111.654 21 112.158 21.584 112.494 22.368C112.846 23.152 113.022 24.104 113.022 25.224V33H109.158V25.536C109.158 25.024 109.086 24.6 108.942 24.264C108.798 23.928 108.582 23.68 108.294 23.52C108.022 23.344 107.678 23.256 107.262 23.256C106.926 23.256 106.614 23.312 106.326 23.424C106.054 23.536 105.814 23.688 105.606 23.88C105.414 24.072 105.262 24.296 105.15 24.552C105.038 24.808 104.982 25.096 104.982 25.416V33H101.118V25.512C101.118 25.032 101.046 24.624 100.902 24.288C100.758 23.952 100.542 23.696 100.254 23.52C99.9659 23.344 99.6299 23.256 99.2459 23.256C98.9099 23.256 98.5979 23.312 98.3099 23.424C98.0379 23.536 97.7979 23.688 97.5899 23.88C97.3979 24.072 97.2459 24.296 97.1339 24.552C97.0219 24.808 96.9659 25.088 96.9659 25.392V33H93.1019ZM116.188 33V20.256H119.836L119.956 22.56L119.452 22.584C119.644 22.168 119.884 21.8 120.172 21.48C120.476 21.16 120.812 20.896 121.18 20.688C121.564 20.464 121.956 20.296 122.356 20.184C122.772 20.072 123.188 20.016 123.604 20.016C124.228 20.016 124.796 20.112 125.308 20.304C125.82 20.496 126.268 20.808 126.652 21.24C127.036 21.656 127.34 22.224 127.564 22.944L126.964 22.896L127.156 22.512C127.364 22.128 127.628 21.784 127.948 21.48C128.284 21.16 128.652 20.896 129.052 20.688C129.452 20.464 129.868 20.296 130.3 20.184C130.732 20.072 131.148 20.016 131.548 20.016C132.556 20.016 133.396 20.216 134.068 20.616C134.74 21 135.244 21.584 135.58 22.368C135.932 23.152 136.108 24.104 136.108 25.224V33H132.244V25.536C132.244 25.024 132.172 24.6 132.028 24.264C131.884 23.928 131.668 23.68 131.38 23.52C131.108 23.344 130.764 23.256 130.348 23.256C130.012 23.256 129.7 23.312 129.412 23.424C129.14 23.536 128.9 23.688 128.692 23.88C128.5 24.072 128.348 24.296 128.236 24.552C128.124 24.808 128.068 25.096 128.068 25.416V33H124.204V25.512C124.204 25.032 124.132 24.624 123.988 24.288C123.844 23.952 123.628 23.696 123.34 23.52C123.052 23.344 122.716 23.256 122.332 23.256C121.996 23.256 121.684 23.312 121.396 23.424C121.124 23.536 120.884 23.688 120.676 23.88C120.484 24.072 120.332 24.296 120.22 24.552C120.108 24.808 120.052 25.088 120.052 25.392V33H116.188ZM145.37 33.24C143.962 33.24 142.738 32.96 141.698 32.4C140.658 31.824 139.85 31.048 139.274 30.072C138.698 29.08 138.41 27.952 138.41 26.688C138.41 25.712 138.57 24.816 138.89 24C139.21 23.184 139.658 22.48 140.234 21.888C140.81 21.28 141.49 20.816 142.274 20.496C143.074 20.16 143.946 19.992 144.89 19.992C145.786 19.992 146.602 20.152 147.338 20.472C148.09 20.792 148.738 21.24 149.282 21.816C149.826 22.392 150.242 23.072 150.53 23.856C150.818 24.64 150.946 25.496 150.914 26.424L150.89 27.456H140.738L140.186 25.296H147.77L147.362 25.752V25.272C147.33 24.872 147.202 24.52 146.978 24.216C146.77 23.896 146.49 23.648 146.138 23.472C145.786 23.296 145.386 23.208 144.938 23.208C144.314 23.208 143.778 23.336 143.33 23.592C142.898 23.832 142.57 24.192 142.346 24.672C142.122 25.136 142.01 25.712 142.01 26.4C142.01 27.104 142.154 27.72 142.442 28.248C142.746 28.76 143.178 29.16 143.738 29.448C144.314 29.736 144.994 29.88 145.778 29.88C146.322 29.88 146.802 29.8 147.218 29.64C147.65 29.48 148.114 29.208 148.61 28.824L150.41 31.368C149.914 31.8 149.386 32.152 148.826 32.424C148.266 32.696 147.69 32.896 147.098 33.024C146.522 33.168 145.946 33.24 145.37 33.24Z\",\n fill: \"white\"\n }\n )\n ] }),\n /* @__PURE__ */ n.jsx(\"defs\", { children: /* @__PURE__ */ n.jsx(\"clipPath\", { id: \"clip0_8_5921\", children: /* @__PURE__ */ n.jsx(\"rect\", { width: \"152\", height: \"48\", fill: \"white\" }) }) })\n ] }) : /* @__PURE__ */ n.jsxs(\"svg\", { width: t, height: r, viewBox: \"0 0 152 48\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", children: [\n /* @__PURE__ */ n.jsxs(\"g\", { clipPath: \"url(#clip0_8_6077)\", children: [\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"23.4698\", cy: \"23.3296\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"39.9786\", cy: \"23.4703\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"30.667\", cy: \"27.5621\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"30.667\", cy: \"19.2378\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"16.2749\", cy: \"19.2378\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"23.4698\", cy: \"31.795\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"23.4698\", cy: \"15.0049\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"23.4698\", cy: \"6.82182\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"15.1462\", cy: \"9.07914\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"9.08012\", cy: \"15.0049\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"6.82182\", cy: \"23.3296\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"15.1462\", cy: \"37.7207\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"23.4698\", cy: \"39.9781\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"31.6534\", cy: \"37.7207\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"37.7203\", cy: \"31.795\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"9.08012\", cy: \"31.795\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"16.2749\", cy: \"27.5621\", r: \"2.82182\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"31.6534\", cy: \"9.07914\", r: \"2.82182\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ n.jsx(\"circle\", { cx: \"37.8619\", cy: \"15.0049\", r: \"2.82182\", fill: \"#FF6832\" }),\n /* @__PURE__ */ n.jsx(\n \"path\",\n {\n d: \"M60.112 33V16.2H63.76L72.568 28.2L71.776 28.08C71.696 27.552 71.632 27.048 71.584 26.568C71.536 26.088 71.488 25.616 71.44 25.152C71.408 24.688 71.376 24.216 71.344 23.736C71.328 23.256 71.312 22.736 71.296 22.176C71.296 21.616 71.296 21.008 71.296 20.352V16.2H75.256V33H71.56L62.368 20.616L63.592 20.784C63.672 21.552 63.736 22.208 63.784 22.752C63.848 23.28 63.896 23.752 63.928 24.168C63.976 24.584 64.008 24.96 64.024 25.296C64.04 25.632 64.048 25.968 64.048 26.304C64.064 26.624 64.072 26.984 64.072 27.384V33H60.112ZM85.1354 33.24C83.7274 33.24 82.5034 32.96 81.4634 32.4C80.4234 31.824 79.6154 31.048 79.0394 30.072C78.4634 29.08 78.1754 27.952 78.1754 26.688C78.1754 25.712 78.3354 24.816 78.6554 24C78.9754 23.184 79.4234 22.48 79.9994 21.888C80.5754 21.28 81.2554 20.816 82.0394 20.496C82.8394 20.16 83.7114 19.992 84.6554 19.992C85.5514 19.992 86.3674 20.152 87.1034 20.472C87.8554 20.792 88.5034 21.24 89.0474 21.816C89.5914 22.392 90.0074 23.072 90.2954 23.856C90.5834 24.64 90.7114 25.496 90.6794 26.424L90.6554 27.456H80.5034L79.9514 25.296H87.5354L87.1274 25.752V25.272C87.0954 24.872 86.9674 24.52 86.7434 24.216C86.5354 23.896 86.2554 23.648 85.9034 23.472C85.5514 23.296 85.1514 23.208 84.7034 23.208C84.0794 23.208 83.5434 23.336 83.0954 23.592C82.6634 23.832 82.3354 24.192 82.1114 24.672C81.8874 25.136 81.7754 25.712 81.7754 26.4C81.7754 27.104 81.9194 27.72 82.2074 28.248C82.5114 28.76 82.9434 29.16 83.5034 29.448C84.0794 29.736 84.7594 29.88 85.5434 29.88C86.0874 29.88 86.5674 29.8 86.9834 29.64C87.4154 29.48 87.8794 29.208 88.3754 28.824L90.1754 31.368C89.6794 31.8 89.1514 32.152 88.5914 32.424C88.0314 32.696 87.4554 32.896 86.8634 33.024C86.2874 33.168 85.7114 33.24 85.1354 33.24ZM93.1019 33V20.256H96.7499L96.8699 22.56L96.3659 22.584C96.5579 22.168 96.7979 21.8 97.0859 21.48C97.3899 21.16 97.7259 20.896 98.0939 20.688C98.4779 20.464 98.8699 20.296 99.2699 20.184C99.6859 20.072 100.102 20.016 100.518 20.016C101.142 20.016 101.71 20.112 102.222 20.304C102.734 20.496 103.182 20.808 103.566 21.24C103.95 21.656 104.254 22.224 104.478 22.944L103.878 22.896L104.07 22.512C104.278 22.128 104.542 21.784 104.862 21.48C105.198 21.16 105.566 20.896 105.966 20.688C106.366 20.464 106.782 20.296 107.214 20.184C107.646 20.072 108.062 20.016 108.462 20.016C109.47 20.016 110.31 20.216 110.982 20.616C111.654 21 112.158 21.584 112.494 22.368C112.846 23.152 113.022 24.104 113.022 25.224V33H109.158V25.536C109.158 25.024 109.086 24.6 108.942 24.264C108.798 23.928 108.582 23.68 108.294 23.52C108.022 23.344 107.678 23.256 107.262 23.256C106.926 23.256 106.614 23.312 106.326 23.424C106.054 23.536 105.814 23.688 105.606 23.88C105.414 24.072 105.262 24.296 105.15 24.552C105.038 24.808 104.982 25.096 104.982 25.416V33H101.118V25.512C101.118 25.032 101.046 24.624 100.902 24.288C100.758 23.952 100.542 23.696 100.254 23.52C99.9659 23.344 99.6299 23.256 99.2459 23.256C98.9099 23.256 98.5979 23.312 98.3099 23.424C98.0379 23.536 97.7979 23.688 97.5899 23.88C97.3979 24.072 97.2459 24.296 97.1339 24.552C97.0219 24.808 96.9659 25.088 96.9659 25.392V33H93.1019ZM116.188 33V20.256H119.836L119.956 22.56L119.452 22.584C119.644 22.168 119.884 21.8 120.172 21.48C120.476 21.16 120.812 20.896 121.18 20.688C121.564 20.464 121.956 20.296 122.356 20.184C122.772 20.072 123.188 20.016 123.604 20.016C124.228 20.016 124.796 20.112 125.308 20.304C125.82 20.496 126.268 20.808 126.652 21.24C127.036 21.656 127.34 22.224 127.564 22.944L126.964 22.896L127.156 22.512C127.364 22.128 127.628 21.784 127.948 21.48C128.284 21.16 128.652 20.896 129.052 20.688C129.452 20.464 129.868 20.296 130.3 20.184C130.732 20.072 131.148 20.016 131.548 20.016C132.556 20.016 133.396 20.216 134.068 20.616C134.74 21 135.244 21.584 135.58 22.368C135.932 23.152 136.108 24.104 136.108 25.224V33H132.244V25.536C132.244 25.024 132.172 24.6 132.028 24.264C131.884 23.928 131.668 23.68 131.38 23.52C131.108 23.344 130.764 23.256 130.348 23.256C130.012 23.256 129.7 23.312 129.412 23.424C129.14 23.536 128.9 23.688 128.692 23.88C128.5 24.072 128.348 24.296 128.236 24.552C128.124 24.808 128.068 25.096 128.068 25.416V33H124.204V25.512C124.204 25.032 124.132 24.624 123.988 24.288C123.844 23.952 123.628 23.696 123.34 23.52C123.052 23.344 122.716 23.256 122.332 23.256C121.996 23.256 121.684 23.312 121.396 23.424C121.124 23.536 120.884 23.688 120.676 23.88C120.484 24.072 120.332 24.296 120.22 24.552C120.108 24.808 120.052 25.088 120.052 25.392V33H116.188ZM145.37 33.24C143.962 33.24 142.738 32.96 141.698 32.4C140.658 31.824 139.85 31.048 139.274 30.072C138.698 29.08 138.41 27.952 138.41 26.688C138.41 25.712 138.57 24.816 138.89 24C139.21 23.184 139.658 22.48 140.234 21.888C140.81 21.28 141.49 20.816 142.274 20.496C143.074 20.16 143.946 19.992 144.89 19.992C145.786 19.992 146.602 20.152 147.338 20.472C148.09 20.792 148.738 21.24 149.282 21.816C149.826 22.392 150.242 23.072 150.53 23.856C150.818 24.64 150.946 25.496 150.914 26.424L150.89 27.456H140.738L140.186 25.296H147.77L147.362 25.752V25.272C147.33 24.872 147.202 24.52 146.978 24.216C146.77 23.896 146.49 23.648 146.138 23.472C145.786 23.296 145.386 23.208 144.938 23.208C144.314 23.208 143.778 23.336 143.33 23.592C142.898 23.832 142.57 24.192 142.346 24.672C142.122 25.136 142.01 25.712 142.01 26.4C142.01 27.104 142.154 27.72 142.442 28.248C142.746 28.76 143.178 29.16 143.738 29.448C144.314 29.736 144.994 29.88 145.778 29.88C146.322 29.88 146.802 29.8 147.218 29.64C147.65 29.48 148.114 29.208 148.61 28.824L150.41 31.368C149.914 31.8 149.386 32.152 148.826 32.424C148.266 32.696 147.69 32.896 147.098 33.024C146.522 33.168 145.946 33.24 145.37 33.24Z\",\n fill: \"black\"\n }\n )\n ] }),\n /* @__PURE__ */ n.jsx(\"defs\", { children: /* @__PURE__ */ n.jsx(\"clipPath\", { id: \"clip0_8_6077\", children: /* @__PURE__ */ n.jsx(\"rect\", { width: \"152\", height: \"48\", fill: \"white\" }) }) })\n ] });\n}, Oa = ({ className: e, vertical: t = !1, opaque: r = !1, opaqueAlternative: i = !1 }) => {\n const c = i ? \"bg-separator-opaque-alternative-light dark:bg-separator-opaque-alternative-dark\" : r ? \"bg-separator-opaque-light dark:bg-separator-opaque-dark\" : \"bg-separator-regular-light dark:bg-separator-regular-dark\";\n return /* @__PURE__ */ n.jsx(\n \"div\",\n {\n className: D(\n c,\n {\n \"w-full h-px\": !t,\n \"h-full w-px\": t\n },\n e\n )\n }\n );\n}, r2 = \"data:image/svg+xml,%3csvg%20width='152'%20height='48'%20viewBox='0%200%20152%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_8_5921)'%3e%3ccircle%20cx='23.4698'%20cy='23.3296'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='39.9786'%20cy='23.4703'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='30.667'%20cy='27.5621'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='30.667'%20cy='19.2378'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='16.2749'%20cy='19.2378'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='31.795'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='15.0049'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='6.82182'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='15.146'%20cy='9.07914'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='9.08012'%20cy='15.0049'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='6.82182'%20cy='23.3296'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='15.146'%20cy='37.7207'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='39.9781'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='31.6534'%20cy='37.7207'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='37.7203'%20cy='31.795'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='9.08012'%20cy='31.795'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='16.2749'%20cy='27.5621'%20r='2.82182'%20fill='%23FEBE00'/%3e%3ccircle%20cx='31.6534'%20cy='9.07914'%20r='2.82182'%20fill='%2355D4B9'/%3e%3ccircle%20cx='37.8619'%20cy='15.0049'%20r='2.82182'%20fill='%23FF6832'/%3e%3cpath%20d='M60.112%2033V16.2H63.76L72.568%2028.2L71.776%2028.08C71.696%2027.552%2071.632%2027.048%2071.584%2026.568C71.536%2026.088%2071.488%2025.616%2071.44%2025.152C71.408%2024.688%2071.376%2024.216%2071.344%2023.736C71.328%2023.256%2071.312%2022.736%2071.296%2022.176C71.296%2021.616%2071.296%2021.008%2071.296%2020.352V16.2H75.256V33H71.56L62.368%2020.616L63.592%2020.784C63.672%2021.552%2063.736%2022.208%2063.784%2022.752C63.848%2023.28%2063.896%2023.752%2063.928%2024.168C63.976%2024.584%2064.008%2024.96%2064.024%2025.296C64.04%2025.632%2064.048%2025.968%2064.048%2026.304C64.064%2026.624%2064.072%2026.984%2064.072%2027.384V33H60.112ZM85.1354%2033.24C83.7274%2033.24%2082.5034%2032.96%2081.4634%2032.4C80.4234%2031.824%2079.6154%2031.048%2079.0394%2030.072C78.4634%2029.08%2078.1754%2027.952%2078.1754%2026.688C78.1754%2025.712%2078.3354%2024.816%2078.6554%2024C78.9754%2023.184%2079.4234%2022.48%2079.9994%2021.888C80.5754%2021.28%2081.2554%2020.816%2082.0394%2020.496C82.8394%2020.16%2083.7114%2019.992%2084.6554%2019.992C85.5514%2019.992%2086.3674%2020.152%2087.1034%2020.472C87.8554%2020.792%2088.5034%2021.24%2089.0474%2021.816C89.5914%2022.392%2090.0074%2023.072%2090.2954%2023.856C90.5834%2024.64%2090.7114%2025.496%2090.6794%2026.424L90.6554%2027.456H80.5034L79.9514%2025.296H87.5354L87.1274%2025.752V25.272C87.0954%2024.872%2086.9674%2024.52%2086.7434%2024.216C86.5354%2023.896%2086.2554%2023.648%2085.9034%2023.472C85.5514%2023.296%2085.1514%2023.208%2084.7034%2023.208C84.0794%2023.208%2083.5434%2023.336%2083.0954%2023.592C82.6634%2023.832%2082.3354%2024.192%2082.1114%2024.672C81.8874%2025.136%2081.7754%2025.712%2081.7754%2026.4C81.7754%2027.104%2081.9194%2027.72%2082.2074%2028.248C82.5114%2028.76%2082.9434%2029.16%2083.5034%2029.448C84.0794%2029.736%2084.7594%2029.88%2085.5434%2029.88C86.0874%2029.88%2086.5674%2029.8%2086.9834%2029.64C87.4154%2029.48%2087.8794%2029.208%2088.3754%2028.824L90.1754%2031.368C89.6794%2031.8%2089.1514%2032.152%2088.5914%2032.424C88.0314%2032.696%2087.4554%2032.896%2086.8634%2033.024C86.2874%2033.168%2085.7114%2033.24%2085.1354%2033.24ZM93.1019%2033V20.256H96.7499L96.8699%2022.56L96.3659%2022.584C96.5579%2022.168%2096.7979%2021.8%2097.0859%2021.48C97.3899%2021.16%2097.7259%2020.896%2098.0939%2020.688C98.4779%2020.464%2098.8699%2020.296%2099.2699%2020.184C99.6859%2020.072%20100.102%2020.016%20100.518%2020.016C101.142%2020.016%20101.71%2020.112%20102.222%2020.304C102.734%2020.496%20103.182%2020.808%20103.566%2021.24C103.95%2021.656%20104.254%2022.224%20104.478%2022.944L103.878%2022.896L104.07%2022.512C104.278%2022.128%20104.542%2021.784%20104.862%2021.48C105.198%2021.16%20105.566%2020.896%20105.966%2020.688C106.366%2020.464%20106.782%2020.296%20107.214%2020.184C107.646%2020.072%20108.062%2020.016%20108.462%2020.016C109.47%2020.016%20110.31%2020.216%20110.982%2020.616C111.654%2021%20112.158%2021.584%20112.494%2022.368C112.846%2023.152%20113.022%2024.104%20113.022%2025.224V33H109.158V25.536C109.158%2025.024%20109.086%2024.6%20108.942%2024.264C108.798%2023.928%20108.582%2023.68%20108.294%2023.52C108.022%2023.344%20107.678%2023.256%20107.262%2023.256C106.926%2023.256%20106.614%2023.312%20106.326%2023.424C106.054%2023.536%20105.814%2023.688%20105.606%2023.88C105.414%2024.072%20105.262%2024.296%20105.15%2024.552C105.038%2024.808%20104.982%2025.096%20104.982%2025.416V33H101.118V25.512C101.118%2025.032%20101.046%2024.624%20100.902%2024.288C100.758%2023.952%20100.542%2023.696%20100.254%2023.52C99.9659%2023.344%2099.6299%2023.256%2099.2459%2023.256C98.9099%2023.256%2098.5979%2023.312%2098.3099%2023.424C98.0379%2023.536%2097.7979%2023.688%2097.5899%2023.88C97.3979%2024.072%2097.2459%2024.296%2097.1339%2024.552C97.0219%2024.808%2096.9659%2025.088%2096.9659%2025.392V33H93.1019ZM116.188%2033V20.256H119.836L119.956%2022.56L119.452%2022.584C119.644%2022.168%20119.884%2021.8%20120.172%2021.48C120.476%2021.16%20120.812%2020.896%20121.18%2020.688C121.564%2020.464%20121.956%2020.296%20122.356%2020.184C122.772%2020.072%20123.188%2020.016%20123.604%2020.016C124.228%2020.016%20124.796%2020.112%20125.308%2020.304C125.82%2020.496%20126.268%2020.808%20126.652%2021.24C127.036%2021.656%20127.34%2022.224%20127.564%2022.944L126.964%2022.896L127.156%2022.512C127.364%2022.128%20127.628%2021.784%20127.948%2021.48C128.284%2021.16%20128.652%2020.896%20129.052%2020.688C129.452%2020.464%20129.868%2020.296%20130.3%2020.184C130.732%2020.072%20131.148%2020.016%20131.548%2020.016C132.556%2020.016%20133.396%2020.216%20134.068%2020.616C134.74%2021%20135.244%2021.584%20135.58%2022.368C135.932%2023.152%20136.108%2024.104%20136.108%2025.224V33H132.244V25.536C132.244%2025.024%20132.172%2024.6%20132.028%2024.264C131.884%2023.928%20131.668%2023.68%20131.38%2023.52C131.108%2023.344%20130.764%2023.256%20130.348%2023.256C130.012%2023.256%20129.7%2023.312%20129.412%2023.424C129.14%2023.536%20128.9%2023.688%20128.692%2023.88C128.5%2024.072%20128.348%2024.296%20128.236%2024.552C128.124%2024.808%20128.068%2025.096%20128.068%2025.416V33H124.204V25.512C124.204%2025.032%20124.132%2024.624%20123.988%2024.288C123.844%2023.952%20123.628%2023.696%20123.34%2023.52C123.052%2023.344%20122.716%2023.256%20122.332%2023.256C121.996%2023.256%20121.684%2023.312%20121.396%2023.424C121.124%2023.536%20120.884%2023.688%20120.676%2023.88C120.484%2024.072%20120.332%2024.296%20120.22%2024.552C120.108%2024.808%20120.052%2025.088%20120.052%2025.392V33H116.188ZM145.37%2033.24C143.962%2033.24%20142.738%2032.96%20141.698%2032.4C140.658%2031.824%20139.85%2031.048%20139.274%2030.072C138.698%2029.08%20138.41%2027.952%20138.41%2026.688C138.41%2025.712%20138.57%2024.816%20138.89%2024C139.21%2023.184%20139.658%2022.48%20140.234%2021.888C140.81%2021.28%20141.49%2020.816%20142.274%2020.496C143.074%2020.16%20143.946%2019.992%20144.89%2019.992C145.786%2019.992%20146.602%2020.152%20147.338%2020.472C148.09%2020.792%20148.738%2021.24%20149.282%2021.816C149.826%2022.392%20150.242%2023.072%20150.53%2023.856C150.818%2024.64%20150.946%2025.496%20150.914%2026.424L150.89%2027.456H140.738L140.186%2025.296H147.77L147.362%2025.752V25.272C147.33%2024.872%20147.202%2024.52%20146.978%2024.216C146.77%2023.896%20146.49%2023.648%20146.138%2023.472C145.786%2023.296%20145.386%2023.208%20144.938%2023.208C144.314%2023.208%20143.778%2023.336%20143.33%2023.592C142.898%2023.832%20142.57%2024.192%20142.346%2024.672C142.122%2025.136%20142.01%2025.712%20142.01%2026.4C142.01%2027.104%20142.154%2027.72%20142.442%2028.248C142.746%2028.76%20143.178%2029.16%20143.738%2029.448C144.314%2029.736%20144.994%2029.88%20145.778%2029.88C146.322%2029.88%20146.802%2029.8%20147.218%2029.64C147.65%2029.48%20148.114%2029.208%20148.61%2028.824L150.41%2031.368C149.914%2031.8%20149.386%2032.152%20148.826%2032.424C148.266%2032.696%20147.69%2032.896%20147.098%2033.024C146.522%2033.168%20145.946%2033.24%20145.37%2033.24Z'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_8_5921'%3e%3crect%20width='152'%20height='48'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", a2 = \"data:image/svg+xml,%3csvg%20width='413'%20height='413'%20viewBox='0%200%20413%20413'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1096_247)'%3e%3ccircle%20cx='207'%20cy='206'%20r='20'%20fill='white'/%3e%3ccircle%20cx='324'%20cy='207'%20r='20'%20fill='white'/%3e%3ccircle%20cx='258'%20cy='236'%20r='20'%20fill='white'/%3e%3ccircle%20cx='258'%20cy='177'%20r='20'%20fill='white'/%3e%3ccircle%20cx='156'%20cy='177'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='266'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='147'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='89'%20r='20'%20fill='white'/%3e%3ccircle%20cx='148'%20cy='105'%20r='20'%20fill='white'/%3e%3ccircle%20cx='105'%20cy='147'%20r='20'%20fill='white'/%3e%3ccircle%20cx='89'%20cy='206'%20r='20'%20fill='white'/%3e%3ccircle%20cx='148'%20cy='308'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='324'%20r='20'%20fill='white'/%3e%3ccircle%20cx='265'%20cy='308'%20r='20'%20fill='white'/%3e%3ccircle%20cx='308'%20cy='266'%20r='20'%20fill='white'/%3e%3ccircle%20cx='105'%20cy='266'%20r='20'%20fill='white'/%3e%3ccircle%20cx='156'%20cy='236'%20r='20'%20fill='%23FEBE00'/%3e%3ccircle%20cx='265'%20cy='105'%20r='20'%20fill='%2355D4B9'/%3e%3ccircle%20cx='309'%20cy='147'%20r='20'%20fill='%23FF6832'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1096_247'%3e%3crect%20width='275'%20height='275'%20fill='white'%20transform='translate(69%2069)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", n2 = \"data:image/svg+xml,%3csvg%20width='152'%20height='48'%20viewBox='0%200%20152%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_8_6077)'%3e%3ccircle%20cx='23.4698'%20cy='23.3296'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='39.9786'%20cy='23.4703'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='30.667'%20cy='27.5621'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='30.667'%20cy='19.2378'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='16.2749'%20cy='19.2378'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='31.795'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='15.0049'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='6.82182'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='15.1462'%20cy='9.07914'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='9.08012'%20cy='15.0049'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='6.82182'%20cy='23.3296'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='15.1462'%20cy='37.7207'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='39.9781'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='31.6534'%20cy='37.7207'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='37.7203'%20cy='31.795'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='9.08012'%20cy='31.795'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='16.2749'%20cy='27.5621'%20r='2.82182'%20fill='%23FEBE00'/%3e%3ccircle%20cx='31.6534'%20cy='9.07914'%20r='2.82182'%20fill='%2355D4B9'/%3e%3ccircle%20cx='37.8619'%20cy='15.0049'%20r='2.82182'%20fill='%23FF6832'/%3e%3cpath%20d='M60.112%2033V16.2H63.76L72.568%2028.2L71.776%2028.08C71.696%2027.552%2071.632%2027.048%2071.584%2026.568C71.536%2026.088%2071.488%2025.616%2071.44%2025.152C71.408%2024.688%2071.376%2024.216%2071.344%2023.736C71.328%2023.256%2071.312%2022.736%2071.296%2022.176C71.296%2021.616%2071.296%2021.008%2071.296%2020.352V16.2H75.256V33H71.56L62.368%2020.616L63.592%2020.784C63.672%2021.552%2063.736%2022.208%2063.784%2022.752C63.848%2023.28%2063.896%2023.752%2063.928%2024.168C63.976%2024.584%2064.008%2024.96%2064.024%2025.296C64.04%2025.632%2064.048%2025.968%2064.048%2026.304C64.064%2026.624%2064.072%2026.984%2064.072%2027.384V33H60.112ZM85.1354%2033.24C83.7274%2033.24%2082.5034%2032.96%2081.4634%2032.4C80.4234%2031.824%2079.6154%2031.048%2079.0394%2030.072C78.4634%2029.08%2078.1754%2027.952%2078.1754%2026.688C78.1754%2025.712%2078.3354%2024.816%2078.6554%2024C78.9754%2023.184%2079.4234%2022.48%2079.9994%2021.888C80.5754%2021.28%2081.2554%2020.816%2082.0394%2020.496C82.8394%2020.16%2083.7114%2019.992%2084.6554%2019.992C85.5514%2019.992%2086.3674%2020.152%2087.1034%2020.472C87.8554%2020.792%2088.5034%2021.24%2089.0474%2021.816C89.5914%2022.392%2090.0074%2023.072%2090.2954%2023.856C90.5834%2024.64%2090.7114%2025.496%2090.6794%2026.424L90.6554%2027.456H80.5034L79.9514%2025.296H87.5354L87.1274%2025.752V25.272C87.0954%2024.872%2086.9674%2024.52%2086.7434%2024.216C86.5354%2023.896%2086.2554%2023.648%2085.9034%2023.472C85.5514%2023.296%2085.1514%2023.208%2084.7034%2023.208C84.0794%2023.208%2083.5434%2023.336%2083.0954%2023.592C82.6634%2023.832%2082.3354%2024.192%2082.1114%2024.672C81.8874%2025.136%2081.7754%2025.712%2081.7754%2026.4C81.7754%2027.104%2081.9194%2027.72%2082.2074%2028.248C82.5114%2028.76%2082.9434%2029.16%2083.5034%2029.448C84.0794%2029.736%2084.7594%2029.88%2085.5434%2029.88C86.0874%2029.88%2086.5674%2029.8%2086.9834%2029.64C87.4154%2029.48%2087.8794%2029.208%2088.3754%2028.824L90.1754%2031.368C89.6794%2031.8%2089.1514%2032.152%2088.5914%2032.424C88.0314%2032.696%2087.4554%2032.896%2086.8634%2033.024C86.2874%2033.168%2085.7114%2033.24%2085.1354%2033.24ZM93.1019%2033V20.256H96.7499L96.8699%2022.56L96.3659%2022.584C96.5579%2022.168%2096.7979%2021.8%2097.0859%2021.48C97.3899%2021.16%2097.7259%2020.896%2098.0939%2020.688C98.4779%2020.464%2098.8699%2020.296%2099.2699%2020.184C99.6859%2020.072%20100.102%2020.016%20100.518%2020.016C101.142%2020.016%20101.71%2020.112%20102.222%2020.304C102.734%2020.496%20103.182%2020.808%20103.566%2021.24C103.95%2021.656%20104.254%2022.224%20104.478%2022.944L103.878%2022.896L104.07%2022.512C104.278%2022.128%20104.542%2021.784%20104.862%2021.48C105.198%2021.16%20105.566%2020.896%20105.966%2020.688C106.366%2020.464%20106.782%2020.296%20107.214%2020.184C107.646%2020.072%20108.062%2020.016%20108.462%2020.016C109.47%2020.016%20110.31%2020.216%20110.982%2020.616C111.654%2021%20112.158%2021.584%20112.494%2022.368C112.846%2023.152%20113.022%2024.104%20113.022%2025.224V33H109.158V25.536C109.158%2025.024%20109.086%2024.6%20108.942%2024.264C108.798%2023.928%20108.582%2023.68%20108.294%2023.52C108.022%2023.344%20107.678%2023.256%20107.262%2023.256C106.926%2023.256%20106.614%2023.312%20106.326%2023.424C106.054%2023.536%20105.814%2023.688%20105.606%2023.88C105.414%2024.072%20105.262%2024.296%20105.15%2024.552C105.038%2024.808%20104.982%2025.096%20104.982%2025.416V33H101.118V25.512C101.118%2025.032%20101.046%2024.624%20100.902%2024.288C100.758%2023.952%20100.542%2023.696%20100.254%2023.52C99.9659%2023.344%2099.6299%2023.256%2099.2459%2023.256C98.9099%2023.256%2098.5979%2023.312%2098.3099%2023.424C98.0379%2023.536%2097.7979%2023.688%2097.5899%2023.88C97.3979%2024.072%2097.2459%2024.296%2097.1339%2024.552C97.0219%2024.808%2096.9659%2025.088%2096.9659%2025.392V33H93.1019ZM116.188%2033V20.256H119.836L119.956%2022.56L119.452%2022.584C119.644%2022.168%20119.884%2021.8%20120.172%2021.48C120.476%2021.16%20120.812%2020.896%20121.18%2020.688C121.564%2020.464%20121.956%2020.296%20122.356%2020.184C122.772%2020.072%20123.188%2020.016%20123.604%2020.016C124.228%2020.016%20124.796%2020.112%20125.308%2020.304C125.82%2020.496%20126.268%2020.808%20126.652%2021.24C127.036%2021.656%20127.34%2022.224%20127.564%2022.944L126.964%2022.896L127.156%2022.512C127.364%2022.128%20127.628%2021.784%20127.948%2021.48C128.284%2021.16%20128.652%2020.896%20129.052%2020.688C129.452%2020.464%20129.868%2020.296%20130.3%2020.184C130.732%2020.072%20131.148%2020.016%20131.548%2020.016C132.556%2020.016%20133.396%2020.216%20134.068%2020.616C134.74%2021%20135.244%2021.584%20135.58%2022.368C135.932%2023.152%20136.108%2024.104%20136.108%2025.224V33H132.244V25.536C132.244%2025.024%20132.172%2024.6%20132.028%2024.264C131.884%2023.928%20131.668%2023.68%20131.38%2023.52C131.108%2023.344%20130.764%2023.256%20130.348%2023.256C130.012%2023.256%20129.7%2023.312%20129.412%2023.424C129.14%2023.536%20128.9%2023.688%20128.692%2023.88C128.5%2024.072%20128.348%2024.296%20128.236%2024.552C128.124%2024.808%20128.068%2025.096%20128.068%2025.416V33H124.204V25.512C124.204%2025.032%20124.132%2024.624%20123.988%2024.288C123.844%2023.952%20123.628%2023.696%20123.34%2023.52C123.052%2023.344%20122.716%2023.256%20122.332%2023.256C121.996%2023.256%20121.684%2023.312%20121.396%2023.424C121.124%2023.536%20120.884%2023.688%20120.676%2023.88C120.484%2024.072%20120.332%2024.296%20120.22%2024.552C120.108%2024.808%20120.052%2025.088%20120.052%2025.392V33H116.188ZM145.37%2033.24C143.962%2033.24%20142.738%2032.96%20141.698%2032.4C140.658%2031.824%20139.85%2031.048%20139.274%2030.072C138.698%2029.08%20138.41%2027.952%20138.41%2026.688C138.41%2025.712%20138.57%2024.816%20138.89%2024C139.21%2023.184%20139.658%2022.48%20140.234%2021.888C140.81%2021.28%20141.49%2020.816%20142.274%2020.496C143.074%2020.16%20143.946%2019.992%20144.89%2019.992C145.786%2019.992%20146.602%2020.152%20147.338%2020.472C148.09%2020.792%20148.738%2021.24%20149.282%2021.816C149.826%2022.392%20150.242%2023.072%20150.53%2023.856C150.818%2024.64%20150.946%2025.496%20150.914%2026.424L150.89%2027.456H140.738L140.186%2025.296H147.77L147.362%2025.752V25.272C147.33%2024.872%20147.202%2024.52%20146.978%2024.216C146.77%2023.896%20146.49%2023.648%20146.138%2023.472C145.786%2023.296%20145.386%2023.208%20144.938%2023.208C144.314%2023.208%20143.778%2023.336%20143.33%2023.592C142.898%2023.832%20142.57%2024.192%20142.346%2024.672C142.122%2025.136%20142.01%2025.712%20142.01%2026.4C142.01%2027.104%20142.154%2027.72%20142.442%2028.248C142.746%2028.76%20143.178%2029.16%20143.738%2029.448C144.314%2029.736%20144.994%2029.88%20145.778%2029.88C146.322%2029.88%20146.802%2029.8%20147.218%2029.64C147.65%2029.48%20148.114%2029.208%20148.61%2028.824L150.41%2031.368C149.914%2031.8%20149.386%2032.152%20148.826%2032.424C148.266%2032.696%20147.69%2032.896%20147.098%2033.024C146.522%2033.168%20145.946%2033.24%20145.37%2033.24Z'%20fill='black'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_8_6077'%3e%3crect%20width='152'%20height='48'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", l2 = \"data:image/svg+xml,%3csvg%20width='413'%20height='413'%20viewBox='0%200%20413%20413'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1096_218)'%3e%3ccircle%20cx='207'%20cy='206'%20r='20'%20fill='black'/%3e%3ccircle%20cx='324'%20cy='207'%20r='20'%20fill='black'/%3e%3ccircle%20cx='258'%20cy='236'%20r='20'%20fill='black'/%3e%3ccircle%20cx='258'%20cy='177'%20r='20'%20fill='black'/%3e%3ccircle%20cx='156'%20cy='177'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='266'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='147'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='89'%20r='20'%20fill='black'/%3e%3ccircle%20cx='148'%20cy='105'%20r='20'%20fill='black'/%3e%3ccircle%20cx='105'%20cy='147'%20r='20'%20fill='black'/%3e%3ccircle%20cx='89'%20cy='206'%20r='20'%20fill='black'/%3e%3ccircle%20cx='148'%20cy='308'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='324'%20r='20'%20fill='black'/%3e%3ccircle%20cx='265'%20cy='308'%20r='20'%20fill='black'/%3e%3ccircle%20cx='308'%20cy='266'%20r='20'%20fill='black'/%3e%3ccircle%20cx='105'%20cy='266'%20r='20'%20fill='black'/%3e%3ccircle%20cx='156'%20cy='236'%20r='20'%20fill='%23FEBE00'/%3e%3ccircle%20cx='265'%20cy='105'%20r='20'%20fill='%2355D4B9'/%3e%3ccircle%20cx='309'%20cy='147'%20r='20'%20fill='%23FF6832'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1096_218'%3e%3crect%20width='275'%20height='275'%20fill='white'%20transform='translate(69%2069)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", l = {\n transparent: \"#00000000\",\n grey: {\n 0: \"#FFFFFF\",\n 5: \"#FBFBFD\",\n 10: \"#F2F2F7\",\n 50: \"#E5E5EA\",\n 75: \"#DEDEE1\",\n 100: \"#D1D1D6\",\n 200: \"#C7C7CC\",\n 300: \"#AEAEB2\",\n 400: \"#8E8E93\",\n 500: \"#636366\",\n 600: \"#48484A\",\n 700: \"#3A3A3C\",\n 800: \"#2C2C2E\",\n 900: \"#242426\",\n 950: \"#1C1C1E\",\n 990: \"#101011\",\n 995: \"#090909\",\n 1e3: \"#000000\"\n },\n \"strong-blue\": {\n 50: \"#A8C7FA\",\n 100: \"#6598EC\",\n 300: \"#1C73E8\",\n 400: \"#3461DA\",\n 500: \"#325FCB\",\n 600: \"#2C4DB9\",\n 950: \"#001833\"\n },\n \"banana-yellow\": {\n 50: \"#FEE085\",\n 100: \"#FECB33\",\n 400: \"#FEBE00\"\n },\n \"bright-coral\": {\n 50: \"#FFD2C1\",\n 100: \"#FF865B\",\n 400: \"#FF6832\"\n },\n \"minty-blue\": {\n 50: \"#99E5D5\",\n 100: \"#77DDC7\",\n 400: \"#55D4B9\"\n },\n red: {\n 10: \"#FEF1F2\",\n 75: \"#FF8680\",\n 100: \"#FF6861\",\n 300: \"#FF453A\",\n 400: \"#FF3B2F\",\n 600: \"#D70015\",\n 800: \"#A10010\"\n },\n orange: {\n 100: \"#FFB33F\",\n 300: \"#FF9F0B\",\n 400: \"#FF9500\",\n 600: \"#C93400\"\n },\n yellow: {\n 10: \"#FFF8EB\",\n 75: \"#FFE372\",\n 100: \"#FFD426\",\n 300: \"#FED709\",\n 400: \"#FFCC02\",\n 600: \"#B25001\",\n 800: \"#873C00\"\n },\n green: {\n 10: \"#EDFDF8\",\n 75: \"#7AF299\",\n 100: \"#30DB5B\",\n 300: \"#31D158\",\n 400: \"#35C759\",\n 600: \"#248A3D\",\n 800: \"#0D5C20\"\n },\n mint: {\n 100: \"#66D5CF\",\n 300: \"#67D3CF\",\n 400: \"#04C7BE\",\n 600: \"#0D817C\"\n },\n teal: {\n 100: \"#5DE6FF\",\n 300: \"#40C8E0\",\n 400: \"#30B0C7\",\n 600: \"#008299\"\n },\n cyan: {\n 100: \"#70D7FF\",\n 300: \"#64D3FF\",\n 400: \"#31ADE6\",\n 600: \"#0171A4\"\n },\n blue: {\n 100: \"#419CFF\",\n 300: \"#0B84FF\",\n 400: \"#007AFF\",\n 600: \"#0040DD\"\n },\n indigo: {\n 100: \"#7E7AFF\",\n 300: \"#5E5CE6\",\n 400: \"#5856D7\",\n 600: \"#3634A3\"\n },\n purple: {\n 100: \"#DA8FFF\",\n 300: \"#BF5AF2\",\n 400: \"#AF52DE\",\n 600: \"#8944AB\"\n },\n pink: {\n 100: \"#FF6482\",\n 300: \"#FF375F\",\n 400: \"#FF2C55\",\n 600: \"#D20F44\"\n },\n brown: {\n 100: \"#B59469\",\n 300: \"#AC8E68\",\n 400: \"#A2845E\",\n 600: \"#7F6545\"\n }\n}, i2 = {\n background: {\n primary: {\n light: l.grey[5],\n dark: l.grey[990]\n },\n secondary: {\n light: l.grey[10],\n dark: l.grey[950]\n },\n tertiary: {\n light: l.grey[50],\n dark: l.grey[900]\n },\n \"grouped-primary\": {\n light: l.grey[50],\n dark: l.grey[990]\n },\n \"grouped-secondary\": {\n light: l.grey[5],\n dark: l.grey[950]\n },\n \"grouped-tertiary\": {\n light: l.grey[10],\n dark: l.grey[900]\n },\n \"primary-hover\": {\n light: l.grey[10],\n dark: l.grey[900]\n },\n \"secondary-hover\": {\n light: l.grey[50],\n dark: l.grey[900]\n },\n \"tertiary-hover\": {\n light: l.grey[100],\n dark: l.grey[800]\n },\n \"universal-overlay\": {\n light: l.grey[1e3].concat(\"12\"),\n // 7% opacity\n dark: l.grey[0].concat(\"0F\")\n // 6% opacity\n }\n },\n overlay: {\n \"fill-default\": {\n light: l.grey[1e3].concat(\"12\"),\n // 7% opacity\n dark: l.grey[0].concat(\"0F\")\n // 6% opacity\n },\n \"fill-alternative\": {\n light: l.grey[1e3].concat(\"24\"),\n // 14% opacity\n dark: l.grey[0].concat(\"24\")\n // 14% opacity\n },\n \"background-default\": {\n light: l.grey[1e3].concat(\"33\"),\n // 20% opacity\n dark: l.grey[1e3].concat(\"80\")\n // 50% opacity\n }\n },\n label: {\n primary: {\n light: l.grey[1e3],\n dark: l.grey[0]\n },\n secondary: {\n light: l.grey[500],\n dark: l.grey[400]\n },\n tertiary: {\n light: l.grey[400],\n dark: l.grey[500]\n },\n placeholder: {\n light: l.grey[400],\n dark: l.grey[400]\n },\n quaternary: {\n light: l.grey[0],\n dark: l.grey[1e3]\n },\n disabled: {\n light: l.grey[100],\n dark: l.grey[700]\n }\n },\n \"primary-action\": {\n graphical: {\n light: l[\"strong-blue\"][600],\n dark: l[\"strong-blue\"][300]\n },\n button: {\n light: l[\"strong-blue\"][400],\n dark: l[\"strong-blue\"][500]\n },\n \"button-hover\": {\n light: l[\"strong-blue\"][600],\n dark: l[\"strong-blue\"][600]\n },\n background: {\n light: l[\"strong-blue\"][50],\n dark: l[\"strong-blue\"][950]\n },\n \"background-2\": {\n light: l[\"strong-blue\"][950],\n dark: l[\"strong-blue\"][50]\n },\n disabled: {\n light: l.grey[100],\n dark: l.grey[700]\n }\n },\n \"secondary-action\": {\n base: {\n light: l.grey[1e3],\n dark: l.grey[0]\n },\n complementary: {\n light: l.grey[0],\n dark: l.grey[1e3]\n },\n alternative: {\n light: l.grey[1e3].concat(\"24\"),\n // HEX 24 = 14% opacity\n dark: l.grey[0].concat(\"24\")\n // HEX 24 = 14% opacity\n },\n disabled: {\n light: l.grey[100],\n dark: l.grey[700]\n }\n },\n \"brand-yellow\": {\n default: {\n light: l[\"banana-yellow\"][400],\n dark: l[\"banana-yellow\"][400]\n },\n alternative: {\n light: l[\"banana-yellow\"][100],\n dark: l[\"banana-yellow\"][100]\n },\n light: {\n light: l[\"banana-yellow\"][50],\n dark: l[\"banana-yellow\"][50]\n }\n },\n \"brand-coral\": {\n default: {\n light: l[\"bright-coral\"][400],\n dark: l[\"bright-coral\"][400]\n },\n alternative: {\n light: l[\"bright-coral\"][100],\n dark: l[\"bright-coral\"][100]\n },\n light: {\n light: l[\"bright-coral\"][50],\n dark: l[\"bright-coral\"][50]\n }\n },\n \"brand-mint\": {\n default: {\n light: l[\"minty-blue\"][400],\n dark: l[\"minty-blue\"][400]\n },\n alternative: {\n light: l[\"minty-blue\"][100],\n dark: l[\"minty-blue\"][100]\n },\n light: {\n light: l[\"minty-blue\"][50],\n dark: l[\"minty-blue\"][50]\n }\n },\n separator: {\n regular: {\n light: l.grey[300],\n dark: l.grey[600]\n },\n opaque: {\n light: l.grey[50],\n dark: l.grey[900]\n },\n \"opaque-alternative\": {\n light: l.grey[100],\n dark: l.grey[800]\n }\n },\n \"system-fill\": {\n primary: {\n light: l.grey[100],\n dark: l.grey[700]\n },\n secondary: {\n light: l.grey[10],\n dark: l.grey[900]\n },\n tertiary: {\n light: l.grey[5],\n dark: l.grey[990]\n }\n },\n \"nonadaptable-text\": {\n light: l.grey[0],\n dark: l.grey[1e3]\n },\n success: {\n background: {\n light: l.green[10],\n dark: l.green[800]\n },\n default: {\n light: l.green[400],\n dark: l.green[300]\n },\n hover: {\n light: l.green[600],\n dark: l.green[75]\n },\n accessible: {\n light: l.green[800],\n dark: l.green[10]\n }\n },\n warning: {\n background: {\n light: l.yellow[10],\n dark: l.yellow[800]\n },\n default: {\n light: l.yellow[400],\n dark: l.yellow[300]\n },\n hover: {\n light: l.yellow[600],\n dark: l.yellow[75]\n },\n accessible: {\n light: l.yellow[800],\n dark: l.yellow[10]\n }\n },\n danger: {\n background: {\n light: l.red[10],\n dark: l.red[800]\n },\n default: {\n light: l.red[400],\n dark: l.red[300]\n },\n hover: {\n light: l.red[600],\n dark: l.red[75]\n },\n accessible: {\n light: l.red[800],\n dark: l.red[10]\n }\n },\n \"system-neutral\": {\n \"grey-0\": {\n light: l.grey[0],\n dark: l.grey[1e3]\n },\n \"grey-1\": {\n light: l.grey[10],\n dark: l.grey[950]\n },\n \"grey-2\": {\n light: l.grey[100],\n dark: l.grey[900]\n },\n \"grey-3\": {\n light: l.grey[300],\n dark: l.grey[800]\n },\n \"grey-4\": {\n light: l.grey[400],\n dark: l.grey[700]\n },\n \"grey-5\": {\n light: l.grey[600],\n dark: l.grey[600]\n },\n \"grey-6\": {\n light: l.grey[700],\n dark: l.grey[400]\n },\n \"grey-7\": {\n light: l.grey[800],\n dark: l.grey[300]\n },\n \"grey-8\": {\n light: l.grey[900],\n dark: l.grey[100]\n },\n \"grey-9\": {\n light: l.grey[950],\n dark: l.grey[10]\n },\n \"grey-10\": {\n light: l.grey[1e3],\n dark: l.grey[0]\n }\n },\n red: {\n default: {\n light: l.red[400],\n dark: l.red[300]\n },\n accessible: {\n light: l.red[600],\n dark: l.red[100]\n }\n },\n orange: {\n default: {\n light: l.orange[400],\n dark: l.orange[300]\n },\n accessible: {\n light: l.orange[600],\n dark: l.orange[100]\n }\n },\n yellow: {\n default: {\n light: l.yellow[400],\n dark: l.yellow[300]\n },\n accessible: {\n light: l.yellow[600],\n dark: l.yellow[100]\n }\n },\n green: {\n default: {\n light: l.green[400],\n dark: l.green[300]\n },\n accessible: {\n light: l.green[600],\n dark: l.green[100]\n }\n },\n mint: {\n default: {\n light: l.mint[400],\n dark: l.mint[300]\n },\n accessible: {\n light: l.mint[600],\n dark: l.mint[100]\n }\n },\n teal: {\n default: {\n light: l.teal[400],\n dark: l.teal[300]\n },\n accessible: {\n light: l.teal[600],\n dark: l.teal[100]\n }\n },\n cyan: {\n default: {\n light: l.cyan[400],\n dark: l.cyan[300]\n },\n accessible: {\n light: l.cyan[600],\n dark: l.cyan[100]\n }\n },\n blue: {\n default: {\n light: l.blue[400],\n dark: l.blue[300]\n },\n accessible: {\n light: l.blue[600],\n dark: l.blue[100]\n }\n },\n indigo: {\n default: {\n light: l.indigo[400],\n dark: l.indigo[300]\n },\n accessible: {\n light: l.indigo[600],\n dark: l.indigo[100]\n }\n },\n purple: {\n default: {\n light: l.purple[400],\n dark: l.purple[300]\n },\n accessible: {\n light: l.purple[600],\n dark: l.purple[100]\n }\n },\n pink: {\n default: {\n light: l.pink[400],\n dark: l.pink[300]\n },\n accessible: {\n light: l.pink[600],\n dark: l.pink[100]\n }\n },\n brown: {\n default: {\n light: l.brown[400],\n dark: l.brown[300]\n },\n accessible: {\n light: l.brown[600],\n dark: l.brown[100]\n }\n }\n}, o2 = () => {\n}, s2 = (e, t) => [...Array(t + 1 - e)].map((r, i) => i + e), c2 = (e) => e.charAt(0).toUpperCase() + e.slice(1), u2 = (e) => e.split(new RegExp(\"(?<=\\\\.) \"));\nfunction ze({\n isActive: e,\n onDismiss: t,\n includeEscape: r = !0,\n extraRefs: i = []\n}) {\n const c = $e(null);\n return Se(() => {\n if (!e) return;\n const g = (s) => [c, ...i].some((k) => k.current && k.current.contains(s)), o = (s) => {\n const m = s.target;\n m && (g(m) || (s.stopPropagation(), s.preventDefault(), s.stopImmediatePropagation(), t()));\n }, b = (s) => {\n r && s.key === \"Escape\" && t();\n };\n return document.addEventListener(\"mousedown\", o), document.addEventListener(\"touchstart\", o, { passive: !0 }), document.addEventListener(\"keydown\", b), () => {\n document.removeEventListener(\"mousedown\", o), document.removeEventListener(\"touchstart\", o), document.removeEventListener(\"keydown\", b);\n };\n }, [e, r, t, i]), { ref: c };\n}\nexport {\n ht as Button,\n Ma as CText,\n Xa as CodeBlock,\n Ha as Dropdown,\n Ja as FullScreenModal,\n Qa as InfoBox,\n Va as InplaceInput,\n Ua as LineBreakText,\n e2 as Loader,\n Ia as Logo,\n t2 as LogoText,\n za as MCText,\n Ka as MenuGroupModal,\n z as NText,\n ot as NavPill,\n dr as NavTab,\n Ga as Search,\n qa as Select,\n Oa as Separator,\n $a as SignalButton,\n Za as TextInput,\n Wa as Toggle,\n Ya as TwoLevelSelector,\n c2 as capitalize,\n l as colors,\n D as cx,\n o2 as includeGlobalStyles,\n a2 as nemmeDark,\n r2 as nemmeDarkText,\n l2 as nemmeLight,\n n2 as nemmeLightText,\n s2 as range,\n i2 as semanticColors,\n u2 as splitDotSpaceKeepDot,\n ze as useDismissable,\n ye as variantToClassName\n};\n//# sourceMappingURL=index.es.js.map\n","import { Button, cx, NText } from '@nemme/ui-kit';\nimport { CaretLeftIcon, CaretRightIcon, XIcon } from '@phosphor-icons/react';\nimport { FC, ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\n\ntype Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n children: ReactNode;\n onPrevious?: () => void;\n onNext?: () => void;\n onQuit?: () => void;\n isValid?: boolean;\n hasPreviousStep: boolean;\n hasNextStep: boolean;\n};\nexport const QuestionWrapper: FC<Props> = ({\n title,\n icon,\n description,\n image,\n children,\n onPrevious,\n onNext,\n onQuit,\n isValid,\n hasPreviousStep,\n hasNextStep\n}) => {\n const { t } = useTranslation();\n return (\n <div\n className={cx(\n 'grid mx-4 my-8 rounded-xl border relative',\n 'grid-cols-1 p-4 pt-10',\n 'md:p-8 md:gap-16 md:max-w-[960px] md:min-w-[660px]',\n !image ? 'md:grid-cols-1' : 'md:grid-cols-2',\n 'border-separator-opaque-light dark:border-separator-opaque-dark material-ultra-thick'\n )}\n >\n <div className=\"flex flex-col justify-between order-2 md:order-1\">\n <div className=\"flex flex-col\">\n <div className=\"flex flex-col gap-1 md:gap-2 pb-3\">\n {icon && (\n <div\n className={cx('h-8 w-8 rounded-lg overflow-hidden mb-1 md:mb-2', !image ? 'block' : 'hidden md:block')}\n >\n <img className=\"w-full h-full object-cover\" src={icon} alt=\"icon\" />\n </div>\n )}\n <NText variant=\"H2\">{title}</NText>\n {description &&\n description\n .trim()\n .replace(/\\n{3,}/g, '\\n\\n')\n .split('\\n\\n')\n .map((text, index) => (\n <NText significance=\"secondary\" key={index}>\n {text.trim()}\n </NText>\n ))}\n </div>\n {children}\n </div>\n <div className=\"flex justify-end pt-4 gap-2\">\n {hasPreviousStep && (\n <Button\n variant=\"subtle\"\n onClick={onPrevious}\n iconBefore={<CaretLeftIcon />}\n disabled={!onPrevious}\n text={t('Previous')}\n />\n )}\n <Button\n variant=\"subtle\"\n onClick={onNext}\n iconAfter={<CaretRightIcon />}\n disabled={!onNext || !isValid}\n text={hasNextStep ? t('Next') : t('Submit')}\n />\n </div>\n {onQuit && (\n <Button\n className=\"absolute top-0 right-1 md:top-1\"\n variant=\"subtle\"\n size=\"small\"\n onClick={onQuit}\n iconAfter={<XIcon />}\n aria-label=\"quit\"\n />\n )}\n </div>\n {image && (\n <div className=\"flex flex-col justify-center order-1 md:order-2\">\n <div className=\"rounded-lg overflow-hidden mb-6 md:mb-0\">\n <img className=\"w-full h-full object-cover aspect-video md:aspect-square\" src={image} alt=\"image\" />\n </div>\n </div>\n )}\n </div>\n );\n};\n","import { cx, NText } from '@nemme/ui-kit';\nimport { FC } from 'react';\nimport { QuestionWrapper } from '../question-wrapper';\n\nexport type Alternatives = {\n id: number;\n text: string;\n};\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n onPrevious?: () => void;\n onNext?: () => void;\n onQuit?: () => void;\n alternatives: Alternatives[];\n onAlternativeSelect: (id: number) => void;\n selectedAlternatives: number[];\n maxAlternatives?: number;\n isValid?: boolean;\n hasPreviousStep: boolean;\n hasNextStep: boolean;\n};\n\nexport const QuestionChoice: FC<Props> = ({\n title,\n icon,\n description,\n image,\n onPrevious,\n onNext,\n onQuit,\n alternatives = [],\n onAlternativeSelect,\n selectedAlternatives,\n maxAlternatives,\n isValid,\n hasPreviousStep,\n hasNextStep\n}) => {\n return (\n <QuestionWrapper\n title={title}\n icon={icon}\n description={description}\n image={image}\n onPrevious={onPrevious}\n onNext={onNext}\n onQuit={onQuit}\n isValid={isValid}\n hasPreviousStep={hasPreviousStep}\n hasNextStep={hasNextStep}\n >\n <div className=\"flex flex-col max-h-[272px] md:max-h-full overflow-y-auto\">\n {maxAlternatives === 1 ? (\n <div className=\"flex flex-col py-3 md:py-4 gap-2 items-end md:items-start\">\n {alternatives.map(alternative => (\n <button\n key={alternative.id}\n onClick={() => onAlternativeSelect(alternative.id)}\n className=\"flex items-center gap-2 p-3 justify-end rounded-lg border text-label-primary-light dark:text-label-primary-dark border-separator-regular-light dark:border-separator-regular-dark\"\n >\n <NText variant=\"B1Button\">{alternative.text}</NText>\n <Option size={20} selected={selectedAlternatives.includes(alternative.id)} />\n </button>\n ))}\n </div>\n ) : (\n <div className=\"flex py-3 md:py-4 gap-2 justify-end md:justify-start flex-wrap\">\n {alternatives.map(alternative => (\n <button\n key={alternative.id}\n onClick={() => onAlternativeSelect(alternative.id)}\n className={cx(\n 'flex items-center gap-2 p-3 justify-end rounded-lg border',\n selectedAlternatives.includes(alternative.id)\n ? 'text-label-quaternary-light dark:text-label-quaternary-dark border-label-quaternary-light dark:border-label-quaternary-dark bg-secondary-action-base-light dark:bg-secondary-action-base-dark'\n : 'text-label-primary-light dark:text-label-primary-dark border-separator-regular-light dark:border-separator-regular-dark'\n )}\n >\n <NText\n variant=\"B1Button\"\n significance={selectedAlternatives.includes(alternative.id) ? 'quaternary' : 'primary'}\n >\n {alternative.text}\n </NText>\n </button>\n ))}\n </div>\n )}\n </div>\n </QuestionWrapper>\n );\n};\n\ntype OptionProps = {\n size?: number;\n strokeColor?: string;\n fillColor?: string;\n selected?: boolean;\n};\n\nconst Option: FC<OptionProps> = ({ size = 16, strokeColor = 'currentColor', fillColor = 'none', selected = false }) => {\n const viewBoxSize = size + 1; // Adding 1 for padding\n const center = viewBoxSize / 2;\n const radius = (size - 2) / 2; // Slightly smaller to account for stroke\n\n return (\n <svg\n width={size}\n height={size}\n viewBox={`0 0 ${viewBoxSize} ${viewBoxSize}`}\n fill={selected ? fillColor : 'none'}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx={center}\n cy={center}\n r={radius}\n stroke={strokeColor}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n {selected && (\n <circle\n cx={center}\n cy={center}\n r={radius - 3} // Inner circle for selected state\n fill={strokeColor}\n />\n )}\n </svg>\n );\n};\n","import { cx, NText, variantToClassName } from '@nemme/ui-kit';\nimport { FC } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { QuestionWrapper } from '../question-wrapper';\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n onPrevious?: () => void;\n onNext?: () => void;\n onQuit?: () => void;\n\n inputText: string;\n setInputText: (text: string) => void;\n maxCharacters?: number;\n isValid?: boolean;\n hasPreviousStep: boolean;\n hasNextStep: boolean;\n};\n\nexport const QuestionText: FC<Props> = ({\n title,\n icon,\n description,\n image,\n onPrevious,\n onNext,\n onQuit,\n inputText,\n setInputText,\n maxCharacters,\n isValid,\n hasPreviousStep,\n hasNextStep\n}) => {\n const { t } = useTranslation();\n return (\n <QuestionWrapper\n title={title}\n icon={icon}\n description={description}\n image={image}\n onPrevious={onPrevious}\n onNext={onNext}\n onQuit={onQuit}\n isValid={isValid}\n hasPreviousStep={hasPreviousStep}\n hasNextStep={hasNextStep}\n >\n <div className=\"flex flex-col py-3 gap-2\">\n {maxCharacters && (\n <div className=\"flex items-center justify-between\">\n <NText significance=\"secondary\">{t('Max {{maxCharacters}} characters', { maxCharacters })}</NText>\n <NText significance=\"secondary\">{`${inputText.length}/${maxCharacters}`}</NText>\n </div>\n )}\n <div className=\"flex flex-col relative\">\n <NText\n as=\"div\"\n className={cx(\n 'overflow-y-hidden whitespace-pre-wrap invisible break-words rounded-lg py-3 px-4 min-h-20 border-separator-opaque-light dark:border-separator-opaque-dark'\n )}\n >\n {inputText}\n </NText>\n <textarea\n id=\"primary\"\n placeholder={t('Type your answer here')}\n className={cx(\n 'absolute inset-0 resize-none',\n 'overflow-hidden break-words outline-hidden resize-none material-medium',\n 'rounded-lg py-3 px-4 min-h-20 border border-separator-opaque-light dark:border-separator-opaque-dark',\n `text-label-primary-light dark:text-label-primary-dark`,\n variantToClassName['B1']\n )}\n value={inputText}\n onChange={e => setInputText(e.target.value)}\n />\n </div>\n </div>\n </QuestionWrapper>\n );\n};\n","import { cx, NText } from '@nemme/ui-kit';\nimport { FC, ReactNode } from 'react';\n\ntype Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n /** This is the button section and the absolute exit button in top right. */\n children: ReactNode;\n wrapperClassName?: string;\n};\nexport const TransitionWrapper: FC<Props> = ({ title, icon, description, image, children, wrapperClassName }) => {\n return (\n <div\n className={cx(\n 'grid mx-4 my-8 rounded-xl border',\n 'grid-cols-1 p-4 pt-10',\n 'md:p-8 md:gap-16 md:max-w-[960px] md:min-w-[660px]',\n !image ? 'md:grid-cols-1' : 'md:grid-cols-2',\n 'border-separator-opaque-light dark:border-separator-opaque-dark material-ultra-thick',\n wrapperClassName\n )}\n >\n <div className=\"flex flex-col justify-between gap-6 md:gap-8 order-2 md:order-1\">\n <div className=\"flex flex-col gap-6 md:gap-8\">\n <div className=\"flex flex-col gap-2 md:gap-4\">\n {icon && (\n <div className={cx('h-8 w-8 rounded-lg overflow-hidden', !image ? 'block' : 'hidden md:block')}>\n <img className=\"w-full h-full object-cover\" src={icon} alt=\"icon\" />\n </div>\n )}\n <NText variant=\"H2\">{title}</NText>\n </div>\n {description &&\n description\n .trim()\n .replace(/\\n{3,}/g, '\\n\\n')\n .split('\\n\\n')\n .map((text, index) => <NText key={index}>{text.trim()}</NText>)}\n </div>\n {children}\n </div>\n {image && (\n <div className=\"flex flex-col justify-center order-1 md:order-2\">\n <div className=\"rounded-lg overflow-hidden mb-6 md:mb-0\">\n <img className=\"w-full h-full object-cover aspect-video md:aspect-square\" src={image} alt=\"image\" />\n </div>\n </div>\n )}\n </div>\n );\n};\n","import { Button } from '@nemme/ui-kit';\nimport { ArrowSquareOutIcon, XIcon } from '@phosphor-icons/react';\nimport { FC } from 'react';\nimport { TransitionWrapper } from '../transition-wrapper';\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n quitText?: string;\n onQuit: () => void;\n externalLink?: string;\n};\n\nexport const TransitionEnd: FC<Props> = ({ title, icon, description, image, quitText, onQuit, externalLink }) => {\n return (\n <TransitionWrapper title={title} icon={icon} description={description} image={image}>\n <div className=\"flex justify-end gap-2\">\n {externalLink ? (\n <Button\n variant=\"secondary\"\n text={quitText}\n iconAfter={<ArrowSquareOutIcon />}\n onClick={() => {\n window.open(externalLink, '_blank');\n onQuit();\n }}\n />\n ) : (\n <Button variant=\"secondary\" onClick={onQuit} text={quitText} />\n )}\n </div>\n {externalLink && (\n <Button\n className=\"absolute -top-2 -right-2 md:-top-4 md:-right-4\"\n variant=\"secondary\"\n size=\"small\"\n onClick={onQuit}\n iconAfter={<XIcon />}\n aria-label=\"quit\"\n />\n )}\n </TransitionWrapper>\n );\n};\n","import { Button } from '@nemme/ui-kit';\nimport { XIcon } from '@phosphor-icons/react';\nimport { FC } from 'react';\nimport { TransitionWrapper } from '../transition-wrapper';\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n quitText?: string;\n onQuit?: () => void;\n startText?: string;\n onStart?: () => void;\n};\n\nexport const TransitionStart: FC<Props> = ({\n title,\n icon,\n description,\n image,\n quitText,\n onQuit,\n startText,\n onStart\n}) => {\n return (\n <TransitionWrapper title={title} icon={icon} description={description} image={image} wrapperClassName=\"relative\">\n <div className=\"flex justify-end gap-2\">\n {onQuit && quitText && <Button variant=\"subtle\" text={quitText} onClick={onQuit} />}\n <Button variant=\"secondary\" text={startText} onClick={onStart} />\n </div>\n {onQuit && (\n <Button\n className=\"absolute top-0 right-1 md:top-1\"\n variant=\"subtle\"\n size=\"small\"\n onClick={onQuit}\n iconAfter={<XIcon />}\n aria-label=\"quit\"\n />\n )}\n </TransitionWrapper>\n );\n};\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\",\n },\n\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\",\n },\n\n halfAMinute: \"half a minute\",\n\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\",\n },\n\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\",\n },\n\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\",\n },\n\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\",\n },\n\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\",\n },\n\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\",\n },\n\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\",\n },\n\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\",\n },\n\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\",\n },\n\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\",\n },\n\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return result + \" ago\";\n }\n }\n\n return result;\n};\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","const formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + \"st\";\n case 2:\n return number + \"nd\";\n case 3:\n return number + \"rd\";\n }\n }\n return number + \"th\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // [TODO] -- I challenge you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // [TODO] -- I challenge you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // [TODO] I challenge you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import {\n getDefaultOptions,\n setDefaultOptions as setInternalDefaultOptions,\n} from \"./_lib/defaultOptions.js\";\n\n/**\n * @name setDefaultOptions\n * @category Common Helpers\n * @summary Set default options including locale.\n * @pure false\n *\n * @description\n * Sets the defaults for\n * `options.locale`, `options.weekStartsOn` and `options.firstWeekContainsDate`\n * arguments for all functions.\n *\n * @param options - An object with options\n *\n * @example\n * // Set global locale:\n * import { es } from 'date-fns/locale'\n * setDefaultOptions({ locale: es })\n * const result = format(new Date(2014, 8, 2), 'PPPP')\n * //=> 'martes, 2 de septiembre de 2014'\n *\n * @example\n * // Start of the week for 2 September 2014:\n * const result = startOfWeek(new Date(2014, 8, 2))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // Start of the week for 2 September 2014,\n * // when we set that week starts on Monday by default:\n * setDefaultOptions({ weekStartsOn: 1 })\n * const result = startOfWeek(new Date(2014, 8, 2))\n * //=> Mon Sep 01 2014 00:00:00\n *\n * @example\n * // Manually set options take priority over default options:\n * setDefaultOptions({ weekStartsOn: 1 })\n * const result = startOfWeek(new Date(2014, 8, 2), { weekStartsOn: 0 })\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // Remove the option by setting it to `undefined`:\n * setDefaultOptions({ weekStartsOn: 1 })\n * setDefaultOptions({ weekStartsOn: undefined })\n * const result = startOfWeek(new Date(2014, 8, 2))\n * //=> Sun Aug 31 2014 00:00:00\n */\nexport function setDefaultOptions(options) {\n const result = {};\n const defaultOptions = getDefaultOptions();\n\n for (const property in defaultOptions) {\n if (Object.prototype.hasOwnProperty.call(defaultOptions, property)) {\n // [TODO] I challenge you to fix the type\n result[property] = defaultOptions[property];\n }\n }\n\n for (const property in options) {\n if (Object.prototype.hasOwnProperty.call(options, property)) {\n if (options[property] === undefined) {\n // [TODO] I challenge you to fix the type\n delete result[property];\n } else {\n // [TODO] I challenge you to fix the type\n result[property] = options[property];\n }\n }\n }\n\n setInternalDefaultOptions(result);\n}\n\n// Fallback for modularized imports:\nexport default setDefaultOptions;\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, d MMMM yyyy\",\n long: \"d MMMM yyyy\",\n medium: \"d MMM yyyy\",\n short: \"dd/MM/yyyy\",\n};\n\nconst timeFormats = {\n full: \"HH:mm:ss zzzz\",\n long: \"HH:mm:ss z\",\n medium: \"HH:mm:ss\",\n short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","import { formatDistance } from \"./en-US/_lib/formatDistance.js\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.js\";\nimport { localize } from \"./en-US/_lib/localize.js\";\nimport { match } from \"./en-US/_lib/match.js\";\n\nimport { formatLong } from \"./en-GB/_lib/formatLong.js\";\n\n/**\n * @category Locales\n * @summary English locale (United Kingdom).\n * @language English\n * @iso-639-2 eng\n * @author Alex [@glintik](https://github.com/glintik)\n */\nexport const enGB = {\n code: \"en-GB\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1 /* Monday */,\n firstWeekContainsDate: 4,\n },\n};\n\n// Fallback for modularized imports:\nexport default enGB;\n","const isString = obj => typeof obj === 'string';\nconst defer = () => {\n let res;\n let rej;\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n};\nconst makeString = object => {\n if (object == null) return '';\n return '' + object;\n};\nconst copy = (a, s, t) => {\n a.forEach(m => {\n if (s[m]) t[m] = s[m];\n });\n};\nconst lastOfPathSeparatorRegExp = /###/g;\nconst cleanKey = key => key && key.indexOf('###') > -1 ? key.replace(lastOfPathSeparatorRegExp, '.') : key;\nconst canNotTraverseDeeper = object => !object || isString(object);\nconst getLastOfPath = (object, path, Empty) => {\n const stack = !isString(path) ? path : path.split('.');\n let stackIndex = 0;\n while (stackIndex < stack.length - 1) {\n if (canNotTraverseDeeper(object)) return {};\n const key = cleanKey(stack[stackIndex]);\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n ++stackIndex;\n }\n if (canNotTraverseDeeper(object)) return {};\n return {\n obj: object,\n k: cleanKey(stack[stackIndex])\n };\n};\nconst setPath = (object, path, newValue) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n if (obj !== undefined || path.length === 1) {\n obj[k] = newValue;\n return;\n }\n let e = path[path.length - 1];\n let p = path.slice(0, path.length - 1);\n let last = getLastOfPath(object, p, Object);\n while (last.obj === undefined && p.length) {\n e = `${p[p.length - 1]}.${e}`;\n p = p.slice(0, p.length - 1);\n last = getLastOfPath(object, p, Object);\n if (last?.obj && typeof last.obj[`${last.k}.${e}`] !== 'undefined') {\n last.obj = undefined;\n }\n }\n last.obj[`${last.k}.${e}`] = newValue;\n};\nconst pushPath = (object, path, newValue, concat) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = obj[k] || [];\n obj[k].push(newValue);\n};\nconst getPath = (object, path) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path);\n if (!obj) return undefined;\n if (!Object.prototype.hasOwnProperty.call(obj, k)) return undefined;\n return obj[k];\n};\nconst getPathWithDefaults = (data, defaultData, key) => {\n const value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n};\nconst deepExtend = (target, source, overwrite) => {\n for (const prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (isString(target[prop]) || target[prop] instanceof String || isString(source[prop]) || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n};\nconst regexEscape = str => str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\nvar _entityMap = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n '/': '&#x2F;'\n};\nconst escape = data => {\n if (isString(data)) {\n return data.replace(/[&<>\"'\\/]/g, s => _entityMap[s]);\n }\n return data;\n};\nclass RegExpCache {\n constructor(capacity) {\n this.capacity = capacity;\n this.regExpMap = new Map();\n this.regExpQueue = [];\n }\n getRegExp(pattern) {\n const regExpFromCache = this.regExpMap.get(pattern);\n if (regExpFromCache !== undefined) {\n return regExpFromCache;\n }\n const regExpNew = new RegExp(pattern);\n if (this.regExpQueue.length === this.capacity) {\n this.regExpMap.delete(this.regExpQueue.shift());\n }\n this.regExpMap.set(pattern, regExpNew);\n this.regExpQueue.push(pattern);\n return regExpNew;\n }\n}\nconst chars = [' ', ',', '?', '!', ';'];\nconst looksLikeObjectPathRegExpCache = new RegExpCache(20);\nconst looksLikeObjectPath = (key, nsSeparator, keySeparator) => {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0);\n if (possibleChars.length === 0) return true;\n const r = looksLikeObjectPathRegExpCache.getRegExp(`(${possibleChars.map(c => c === '?' ? '\\\\?' : c).join('|')})`);\n let matched = !r.test(key);\n if (!matched) {\n const ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n};\nconst deepFind = (obj, path, keySeparator = '.') => {\n if (!obj) return undefined;\n if (obj[path]) {\n if (!Object.prototype.hasOwnProperty.call(obj, path)) return undefined;\n return obj[path];\n }\n const tokens = path.split(keySeparator);\n let current = obj;\n for (let i = 0; i < tokens.length;) {\n if (!current || typeof current !== 'object') {\n return undefined;\n }\n let next;\n let nextPath = '';\n for (let j = i; j < tokens.length; ++j) {\n if (j !== i) {\n nextPath += keySeparator;\n }\n nextPath += tokens[j];\n next = current[nextPath];\n if (next !== undefined) {\n if (['string', 'number', 'boolean'].indexOf(typeof next) > -1 && j < tokens.length - 1) {\n continue;\n }\n i += j - i + 1;\n break;\n }\n }\n current = next;\n }\n return current;\n};\nconst getCleanedCode = code => code?.replace('_', '-');\n\nconst consoleLogger = {\n type: 'logger',\n log(args) {\n this.output('log', args);\n },\n warn(args) {\n this.output('warn', args);\n },\n error(args) {\n this.output('error', args);\n },\n output(type, args) {\n console?.[type]?.apply?.(console, args);\n }\n};\nclass Logger {\n constructor(concreteLogger, options = {}) {\n this.init(concreteLogger, options);\n }\n init(concreteLogger, options = {}) {\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n log(...args) {\n return this.forward(args, 'log', '', true);\n }\n warn(...args) {\n return this.forward(args, 'warn', '', true);\n }\n error(...args) {\n return this.forward(args, 'error', '');\n }\n deprecate(...args) {\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (isString(args[0])) args[0] = `${prefix}${this.prefix} ${args[0]}`;\n return this.logger[lvl](args);\n }\n create(moduleName) {\n return new Logger(this.logger, {\n ...{\n prefix: `${this.prefix}:${moduleName}:`\n },\n ...this.options\n });\n }\n clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n}\nvar baseLogger = new Logger();\n\nclass EventEmitter {\n constructor() {\n this.observers = {};\n }\n on(events, listener) {\n events.split(' ').forEach(event => {\n if (!this.observers[event]) this.observers[event] = new Map();\n const numListeners = this.observers[event].get(listener) || 0;\n this.observers[event].set(listener, numListeners + 1);\n });\n return this;\n }\n off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event].delete(listener);\n }\n emit(event, ...args) {\n if (this.observers[event]) {\n const cloned = Array.from(this.observers[event].entries());\n cloned.forEach(([observer, numTimesAdded]) => {\n for (let i = 0; i < numTimesAdded; i++) {\n observer(...args);\n }\n });\n }\n if (this.observers['*']) {\n const cloned = Array.from(this.observers['*'].entries());\n cloned.forEach(([observer, numTimesAdded]) => {\n for (let i = 0; i < numTimesAdded; i++) {\n observer.apply(observer, [event, ...args]);\n }\n });\n }\n }\n}\n\nclass ResourceStore extends EventEmitter {\n constructor(data, options = {\n ns: ['translation'],\n defaultNS: 'translation'\n }) {\n super();\n this.data = data || {};\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n if (this.options.ignoreJSONStructure === undefined) {\n this.options.ignoreJSONStructure = true;\n }\n }\n addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n removeNamespaces(ns) {\n const index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n getResource(lng, ns, key, options = {}) {\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n let path;\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n } else {\n path = [lng, ns];\n if (key) {\n if (Array.isArray(key)) {\n path.push(...key);\n } else if (isString(key) && keySeparator) {\n path.push(...key.split(keySeparator));\n } else {\n path.push(key);\n }\n }\n }\n const result = getPath(this.data, path);\n if (!result && !ns && !key && lng.indexOf('.') > -1) {\n lng = path[0];\n ns = path[1];\n key = path.slice(2).join('.');\n }\n if (result || !ignoreJSONStructure || !isString(key)) return result;\n return deepFind(this.data?.[lng]?.[ns], key, keySeparator);\n }\n addResource(lng, ns, key, value, options = {\n silent: false\n }) {\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n addResources(lng, ns, resources, options = {\n silent: false\n }) {\n for (const m in resources) {\n if (isString(resources[m]) || Array.isArray(resources[m])) this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n addResourceBundle(lng, ns, resources, deep, overwrite, options = {\n silent: false,\n skipCopy: false\n }) {\n let path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n let pack = getPath(this.data, path) || {};\n if (!options.skipCopy) resources = JSON.parse(JSON.stringify(resources));\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = {\n ...pack,\n ...resources\n };\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n return this.getResource(lng, ns);\n }\n getDataByLanguage(lng) {\n return this.data[lng];\n }\n hasLanguageSomeTranslations(lng) {\n const data = this.getDataByLanguage(lng);\n const n = data && Object.keys(data) || [];\n return !!n.find(v => data[v] && Object.keys(data[v]).length > 0);\n }\n toJSON() {\n return this.data;\n }\n}\n\nvar postProcessor = {\n processors: {},\n addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle(processors, value, key, options, translator) {\n processors.forEach(processor => {\n value = this.processors[processor]?.process(value, key, options, translator) ?? value;\n });\n return value;\n }\n};\n\nconst PATH_KEY = Symbol('i18next/PATH_KEY');\nfunction createProxy() {\n const state = [];\n const handler = Object.create(null);\n let proxy;\n handler.get = (target, key) => {\n proxy?.revoke?.();\n if (key === PATH_KEY) return state;\n state.push(key);\n proxy = Proxy.revocable(target, handler);\n return proxy.proxy;\n };\n return Proxy.revocable(Object.create(null), handler).proxy;\n}\nfunction keysFromSelector(selector, opts) {\n const {\n [PATH_KEY]: path\n } = selector(createProxy());\n return path.join(opts?.keySeparator ?? '.');\n}\n\nconst checkedLoadedFor = {};\nconst shouldHandleAsObject = res => !isString(res) && typeof res !== 'boolean' && typeof res !== 'number';\nclass Translator extends EventEmitter {\n constructor(services, options = {}) {\n super();\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this);\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n this.logger = baseLogger.create('translator');\n }\n changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n exists(key, o = {\n interpolation: {}\n }) {\n const opt = {\n ...o\n };\n if (key == null) return false;\n const resolved = this.resolve(key, opt);\n return resolved?.res !== undefined;\n }\n extractFromKey(key, opt) {\n let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator;\n let namespaces = opt.ns || this.options.defaultNS || [];\n const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !opt.keySeparator && !this.options.userDefinedNsSeparator && !opt.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n const m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n const parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n translate(keys, o, lastKey) {\n let opt = typeof o === 'object' ? {\n ...o\n } : o;\n if (typeof opt !== 'object' && this.options.overloadTranslationOptionHandler) {\n opt = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (typeof opt === 'object') opt = {\n ...opt\n };\n if (!opt) opt = {};\n if (keys == null) return '';\n if (typeof keys === 'function') keys = keysFromSelector(keys, {\n ...this.options,\n ...opt\n });\n if (!Array.isArray(keys)) keys = [String(keys)];\n const returnDetails = opt.returnDetails !== undefined ? opt.returnDetails : this.options.returnDetails;\n const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator;\n const {\n key,\n namespaces\n } = this.extractFromKey(keys[keys.length - 1], opt);\n const namespace = namespaces[namespaces.length - 1];\n let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const lng = opt.lng || this.language;\n const appendNamespaceToCIMode = opt.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng?.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n if (returnDetails) {\n return {\n res: `${namespace}${nsSeparator}${key}`,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(opt)\n };\n }\n return `${namespace}${nsSeparator}${key}`;\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(opt)\n };\n }\n return key;\n }\n const resolved = this.resolve(keys, opt);\n let res = resolved?.res;\n const resUsedKey = resolved?.usedKey || key;\n const resExactUsedKey = resolved?.exactUsedKey || key;\n const noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n const joinArrays = opt.joinArrays !== undefined ? opt.joinArrays : this.options.joinArrays;\n const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n const needsPluralHandling = opt.count !== undefined && !isString(opt.count);\n const hasDefaultValue = Translator.hasDefaultValue(opt);\n const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, opt) : '';\n const defaultValueSuffixOrdinalFallback = opt.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, {\n ordinal: false\n }) : '';\n const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0;\n const defaultValue = needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] || opt[`defaultValue${defaultValueSuffix}`] || opt[`defaultValue${defaultValueSuffixOrdinalFallback}`] || opt.defaultValue;\n let resForObjHndl = res;\n if (handleAsObjectInI18nFormat && !res && hasDefaultValue) {\n resForObjHndl = defaultValue;\n }\n const handleAsObject = shouldHandleAsObject(resForObjHndl);\n const resType = Object.prototype.toString.apply(resForObjHndl);\n if (handleAsObjectInI18nFormat && resForObjHndl && handleAsObject && noObject.indexOf(resType) < 0 && !(isString(joinArrays) && Array.isArray(resForObjHndl))) {\n if (!opt.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, resForObjHndl, {\n ...opt,\n ns: namespaces\n }) : `key '${key} (${this.language})' returned an object instead of string.`;\n if (returnDetails) {\n resolved.res = r;\n resolved.usedParams = this.getUsedParamsDetails(opt);\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n const resTypeIsArray = Array.isArray(resForObjHndl);\n const copy = resTypeIsArray ? [] : {};\n const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (const m in resForObjHndl) {\n if (Object.prototype.hasOwnProperty.call(resForObjHndl, m)) {\n const deepKey = `${newKeyToUse}${keySeparator}${m}`;\n if (hasDefaultValue && !res) {\n copy[m] = this.translate(deepKey, {\n ...opt,\n defaultValue: shouldHandleAsObject(defaultValue) ? defaultValue[m] : undefined,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n } else {\n copy[m] = this.translate(deepKey, {\n ...opt,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n }\n if (copy[m] === deepKey) copy[m] = resForObjHndl[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && isString(joinArrays) && Array.isArray(res)) {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, opt, lastKey);\n } else {\n let usedDefault = false;\n let usedKey = false;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n const missingKeyNoValueFallbackToKey = opt.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n const fk = this.resolve(key, {\n ...opt,\n keySeparator: false\n });\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n let lngs = [];\n const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, opt.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (let i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(opt.lng || this.language);\n } else {\n lngs.push(opt.lng || this.language);\n }\n const send = (l, k, specificDefaultValue) => {\n const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (this.options.missingKeyHandler) {\n this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, opt);\n } else if (this.backendConnector?.saveMissing) {\n this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, opt);\n }\n this.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(language => {\n const suffixes = this.pluralResolver.getSuffixes(language, opt);\n if (needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] && suffixes.indexOf(`${this.options.pluralSeparator}zero`) < 0) {\n suffixes.push(`${this.options.pluralSeparator}zero`);\n }\n suffixes.forEach(suffix => {\n send([language], key + suffix, opt[`defaultValue${suffix}`] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, opt, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) {\n res = `${namespace}${nsSeparator}${key}`;\n }\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}${nsSeparator}${key}` : key, usedDefault ? res : undefined, opt);\n }\n }\n if (returnDetails) {\n resolved.res = res;\n resolved.usedParams = this.getUsedParamsDetails(opt);\n return resolved;\n }\n return res;\n }\n extendTranslation(res, key, opt, resolved, lastKey) {\n if (this.i18nFormat?.parse) {\n res = this.i18nFormat.parse(res, {\n ...this.options.interpolation.defaultVariables,\n ...opt\n }, opt.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved\n });\n } else if (!opt.skipInterpolation) {\n if (opt.interpolation) this.interpolator.init({\n ...opt,\n ...{\n interpolation: {\n ...this.options.interpolation,\n ...opt.interpolation\n }\n }\n });\n const skipOnVariables = isString(res) && (opt?.interpolation?.skipOnVariables !== undefined ? opt.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n let nestBef;\n if (skipOnVariables) {\n const nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n let data = opt.replace && !isString(opt.replace) ? opt.replace : opt;\n if (this.options.interpolation.defaultVariables) data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n res = this.interpolator.interpolate(res, data, opt.lng || this.language || resolved.usedLng, opt);\n if (skipOnVariables) {\n const na = res.match(this.interpolator.nestingRegexp);\n const nestAft = na && na.length;\n if (nestBef < nestAft) opt.nest = false;\n }\n if (!opt.lng && resolved && resolved.res) opt.lng = this.language || resolved.usedLng;\n if (opt.nest !== false) res = this.interpolator.nest(res, (...args) => {\n if (lastKey?.[0] === args[0] && !opt.context) {\n this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`);\n return null;\n }\n return this.translate(...args, key);\n }, opt);\n if (opt.interpolation) this.interpolator.reset();\n }\n const postProcess = opt.postProcess || this.options.postProcess;\n const postProcessorNames = isString(postProcess) ? [postProcess] : postProcess;\n if (res != null && postProcessorNames?.length && opt.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? {\n i18nResolved: {\n ...resolved,\n usedParams: this.getUsedParamsDetails(opt)\n },\n ...opt\n } : opt, this);\n }\n return res;\n }\n resolve(keys, opt = {}) {\n let found;\n let usedKey;\n let exactUsedKey;\n let usedLng;\n let usedNS;\n if (isString(keys)) keys = [keys];\n keys.forEach(k => {\n if (this.isValidLookup(found)) return;\n const extracted = this.extractFromKey(k, opt);\n const key = extracted.key;\n usedKey = key;\n let namespaces = extracted.namespaces;\n if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS);\n const needsPluralHandling = opt.count !== undefined && !isString(opt.count);\n const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0;\n const needsContextHandling = opt.context !== undefined && (isString(opt.context) || typeof opt.context === 'number') && opt.context !== '';\n const codes = opt.lngs ? opt.lngs : this.languageUtils.toResolveHierarchy(opt.lng || this.language, opt.fallbackLng);\n namespaces.forEach(ns => {\n if (this.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils?.hasLoadedNamespace && !this.utils?.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[`${codes[0]}-${ns}`] = true;\n this.logger.warn(`key \"${usedKey}\" for languages \"${codes.join(', ')}\" won't get resolved as namespace \"${usedNS}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(code => {\n if (this.isValidLookup(found)) return;\n usedLng = code;\n const finalKeys = [key];\n if (this.i18nFormat?.addLookupKeys) {\n this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, opt);\n } else {\n let pluralSuffix;\n if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, opt.count, opt);\n const zeroSuffix = `${this.options.pluralSeparator}zero`;\n const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;\n if (needsPluralHandling) {\n if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n const contextKey = `${key}${this.options.contextSeparator || '_'}${opt.context}`;\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n let possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!this.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = this.getResource(code, ns, possibleKey, opt);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey,\n exactUsedKey,\n usedLng,\n usedNS\n };\n }\n isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n getResource(code, ns, key, options = {}) {\n if (this.i18nFormat?.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n getUsedParamsDetails(options = {}) {\n const optionsKeys = ['defaultValue', 'ordinal', 'context', 'replace', 'lng', 'lngs', 'fallbackLng', 'ns', 'keySeparator', 'nsSeparator', 'returnObjects', 'returnDetails', 'joinArrays', 'postProcess', 'interpolation'];\n const useOptionsReplaceForData = options.replace && !isString(options.replace);\n let data = useOptionsReplaceForData ? options.replace : options;\n if (useOptionsReplaceForData && typeof options.count !== 'undefined') {\n data.count = options.count;\n }\n if (this.options.interpolation.defaultVariables) {\n data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n }\n if (!useOptionsReplaceForData) {\n data = {\n ...data\n };\n for (const key of optionsKeys) {\n delete data[key];\n }\n }\n return data;\n }\n static hasDefaultValue(options) {\n const prefix = 'defaultValue';\n for (const option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n}\n\nclass LanguageUtil {\n constructor(options) {\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n getScriptPartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return null;\n const p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n getLanguagePartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return code;\n const p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n formatLanguageCode(code) {\n if (isString(code) && code.indexOf('-') > -1) {\n let formattedCode;\n try {\n formattedCode = Intl.getCanonicalLocales(code)[0];\n } catch (e) {}\n if (formattedCode && this.options.lowerCaseLng) {\n formattedCode = formattedCode.toLowerCase();\n }\n if (formattedCode) return formattedCode;\n if (this.options.lowerCaseLng) {\n return code.toLowerCase();\n }\n return code;\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n getBestMatchFromCodes(codes) {\n if (!codes) return null;\n let found;\n codes.forEach(code => {\n if (found) return;\n const cleanedLng = this.formatLanguageCode(code);\n if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(code => {\n if (found) return;\n const lngScOnly = this.getScriptPartFromCode(code);\n if (this.isSupportedCode(lngScOnly)) return found = lngScOnly;\n const lngOnly = this.getLanguagePartFromCode(code);\n if (this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = this.options.supportedLngs.find(supportedLng => {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf('-') > 0 && lngOnly.indexOf('-') < 0 && supportedLng.substring(0, supportedLng.indexOf('-')) === lngOnly) return supportedLng;\n if (supportedLng.indexOf(lngOnly) === 0 && lngOnly.length > 1) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (isString(fallbacks)) fallbacks = [fallbacks];\n if (Array.isArray(fallbacks)) return fallbacks;\n if (!code) return fallbacks.default || [];\n let found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks.default;\n return found || [];\n }\n toResolveHierarchy(code, fallbackCode) {\n const fallbackCodes = this.getFallbackCodes((fallbackCode === false ? [] : fallbackCode) || this.options.fallbackLng || [], code);\n const codes = [];\n const addCode = c => {\n if (!c) return;\n if (this.isSupportedCode(c)) {\n codes.push(c);\n } else {\n this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`);\n }\n };\n if (isString(code) && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (isString(code)) {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(fc => {\n if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc));\n });\n return codes;\n }\n}\n\nconst suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nconst dummyRule = {\n select: count => count === 1 ? 'one' : 'other',\n resolvedOptions: () => ({\n pluralCategories: ['one', 'other']\n })\n};\nclass PluralResolver {\n constructor(languageUtils, options = {}) {\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.pluralRulesCache = {};\n }\n addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n clearCache() {\n this.pluralRulesCache = {};\n }\n getRule(code, options = {}) {\n const cleanedCode = getCleanedCode(code === 'dev' ? 'en' : code);\n const type = options.ordinal ? 'ordinal' : 'cardinal';\n const cacheKey = JSON.stringify({\n cleanedCode,\n type\n });\n if (cacheKey in this.pluralRulesCache) {\n return this.pluralRulesCache[cacheKey];\n }\n let rule;\n try {\n rule = new Intl.PluralRules(cleanedCode, {\n type\n });\n } catch (err) {\n if (!Intl) {\n this.logger.error('No Intl support, please use an Intl polyfill!');\n return dummyRule;\n }\n if (!code.match(/-|_/)) return dummyRule;\n const lngPart = this.languageUtils.getLanguagePartFromCode(code);\n rule = this.getRule(lngPart, options);\n }\n this.pluralRulesCache[cacheKey] = rule;\n return rule;\n }\n needsPlural(code, options = {}) {\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n return rule?.resolvedOptions().pluralCategories.length > 1;\n }\n getPluralFormsOfKey(code, key, options = {}) {\n return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`);\n }\n getSuffixes(code, options = {}) {\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n if (!rule) return [];\n return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`);\n }\n getSuffix(code, count, options = {}) {\n const rule = this.getRule(code, options);\n if (rule) {\n return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`;\n }\n this.logger.warn(`no plural rule found for: ${code}`);\n return this.getSuffix('dev', count, options);\n }\n}\n\nconst deepFindWithDefaults = (data, defaultData, key, keySeparator = '.', ignoreJSONStructure = true) => {\n let path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && isString(key)) {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n};\nconst regexSafe = val => val.replace(/\\$/g, '$$$$');\nclass Interpolator {\n constructor(options = {}) {\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options?.interpolation?.format || (value => value);\n this.init(options);\n }\n init(options = {}) {\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n const {\n escape: escape$1,\n escapeValue,\n useRawValueToEscape,\n prefix,\n prefixEscaped,\n suffix,\n suffixEscaped,\n formatSeparator,\n unescapeSuffix,\n unescapePrefix,\n nestingPrefix,\n nestingPrefixEscaped,\n nestingSuffix,\n nestingSuffixEscaped,\n nestingOptionsSeparator,\n maxReplaces,\n alwaysFormat\n } = options.interpolation;\n this.escape = escape$1 !== undefined ? escape$1 : escape;\n this.escapeValue = escapeValue !== undefined ? escapeValue : true;\n this.useRawValueToEscape = useRawValueToEscape !== undefined ? useRawValueToEscape : false;\n this.prefix = prefix ? regexEscape(prefix) : prefixEscaped || '{{';\n this.suffix = suffix ? regexEscape(suffix) : suffixEscaped || '}}';\n this.formatSeparator = formatSeparator || ',';\n this.unescapePrefix = unescapeSuffix ? '' : unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : unescapeSuffix || '';\n this.nestingPrefix = nestingPrefix ? regexEscape(nestingPrefix) : nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = nestingSuffix ? regexEscape(nestingSuffix) : nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = nestingOptionsSeparator || ',';\n this.maxReplaces = maxReplaces || 1000;\n this.alwaysFormat = alwaysFormat !== undefined ? alwaysFormat : false;\n this.resetRegExp();\n }\n reset() {\n if (this.options) this.init(this.options);\n }\n resetRegExp() {\n const getOrResetRegExp = (existingRegExp, pattern) => {\n if (existingRegExp?.source === pattern) {\n existingRegExp.lastIndex = 0;\n return existingRegExp;\n }\n return new RegExp(pattern, 'g');\n };\n this.regexp = getOrResetRegExp(this.regexp, `${this.prefix}(.+?)${this.suffix}`);\n this.regexpUnescape = getOrResetRegExp(this.regexpUnescape, `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`);\n this.nestingRegexp = getOrResetRegExp(this.nestingRegexp, `${this.nestingPrefix}((?:[^()\"']+|\"[^\"]*\"|'[^']*'|\\\\((?:[^()]|\"[^\"]*\"|'[^']*')*\\\\))*?)${this.nestingSuffix}`);\n }\n interpolate(str, data, lng, options) {\n let match;\n let value;\n let replaces;\n const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n const handleFormat = key => {\n if (key.indexOf(this.formatSeparator) < 0) {\n const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure);\n return this.alwaysFormat ? this.format(path, undefined, lng, {\n ...options,\n ...data,\n interpolationkey: key\n }) : path;\n }\n const p = key.split(this.formatSeparator);\n const k = p.shift().trim();\n const f = p.join(this.formatSeparator).trim();\n return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, {\n ...options,\n ...data,\n interpolationkey: k\n });\n };\n this.resetRegExp();\n const missingInterpolationHandler = options?.missingInterpolationHandler || this.options.missingInterpolationHandler;\n const skipOnVariables = options?.interpolation?.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n const todos = [{\n regex: this.regexpUnescape,\n safeValue: val => regexSafe(val)\n }, {\n regex: this.regexp,\n safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val)\n }];\n todos.forEach(todo => {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n const matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n const temp = missingInterpolationHandler(str, match, options);\n value = isString(temp) ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`);\n value = '';\n }\n } else if (!isString(value) && !this.useRawValueToEscape) {\n value = makeString(value);\n }\n const safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n nest(str, fc, options = {}) {\n let match;\n let value;\n let clonedOptions;\n const handleHasOptions = (key, inheritedOptions) => {\n const sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n const c = key.split(new RegExp(`${sep}[ ]*{`));\n let optionsString = `{${c[1]}`;\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n const matchedSingleQuotes = optionsString.match(/'/g);\n const matchedDoubleQuotes = optionsString.match(/\"/g);\n if ((matchedSingleQuotes?.length ?? 0) % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = {\n ...inheritedOptions,\n ...clonedOptions\n };\n } catch (e) {\n this.logger.warn(`failed parsing options string in nesting for key ${key}`, e);\n return `${key}${sep}${optionsString}`;\n }\n if (clonedOptions.defaultValue && clonedOptions.defaultValue.indexOf(this.prefix) > -1) delete clonedOptions.defaultValue;\n return key;\n };\n while (match = this.nestingRegexp.exec(str)) {\n let formatters = [];\n clonedOptions = {\n ...options\n };\n clonedOptions = clonedOptions.replace && !isString(clonedOptions.replace) ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n const keyEndIndex = /{.*}/.test(match[1]) ? match[1].lastIndexOf('}') + 1 : match[1].indexOf(this.formatSeparator);\n if (keyEndIndex !== -1) {\n formatters = match[1].slice(keyEndIndex).split(this.formatSeparator).map(elem => elem.trim()).filter(Boolean);\n match[1] = match[1].slice(0, keyEndIndex);\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && !isString(value)) return value;\n if (!isString(value)) value = makeString(value);\n if (!value) {\n this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`);\n value = '';\n }\n if (formatters.length) {\n value = formatters.reduce((v, f) => this.format(v, f, options.lng, {\n ...options,\n interpolationkey: match[1].trim()\n }), value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n}\n\nconst parseFormatStr = formatStr => {\n let formatName = formatStr.toLowerCase().trim();\n const formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n const p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n const optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n const opts = optStr.split(';');\n opts.forEach(opt => {\n if (opt) {\n const [key, ...rest] = opt.split(':');\n const val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n const trimmedKey = key.trim();\n if (!formatOptions[trimmedKey]) formatOptions[trimmedKey] = val;\n if (val === 'false') formatOptions[trimmedKey] = false;\n if (val === 'true') formatOptions[trimmedKey] = true;\n if (!isNaN(val)) formatOptions[trimmedKey] = parseInt(val, 10);\n }\n });\n }\n }\n return {\n formatName,\n formatOptions\n };\n};\nconst createCachedFormatter = fn => {\n const cache = {};\n return (v, l, o) => {\n let optForCache = o;\n if (o && o.interpolationkey && o.formatParams && o.formatParams[o.interpolationkey] && o[o.interpolationkey]) {\n optForCache = {\n ...optForCache,\n [o.interpolationkey]: undefined\n };\n }\n const key = l + JSON.stringify(optForCache);\n let frm = cache[key];\n if (!frm) {\n frm = fn(getCleanedCode(l), o);\n cache[key] = frm;\n }\n return frm(v);\n };\n};\nconst createNonCachedFormatter = fn => (v, l, o) => fn(getCleanedCode(l), o)(v);\nclass Formatter {\n constructor(options = {}) {\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.init(options);\n }\n init(services, options = {\n interpolation: {}\n }) {\n this.formatSeparator = options.interpolation.formatSeparator || ',';\n const cf = options.cacheInBuiltFormats ? createCachedFormatter : createNonCachedFormatter;\n this.formats = {\n number: cf((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n currency: cf((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt,\n style: 'currency'\n });\n return val => formatter.format(val);\n }),\n datetime: cf((lng, opt) => {\n const formatter = new Intl.DateTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n relativetime: cf((lng, opt) => {\n const formatter = new Intl.RelativeTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val, opt.range || 'day');\n }),\n list: cf((lng, opt) => {\n const formatter = new Intl.ListFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n })\n };\n }\n add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n format(value, format, lng, options = {}) {\n const formats = format.split(this.formatSeparator);\n if (formats.length > 1 && formats[0].indexOf('(') > 1 && formats[0].indexOf(')') < 0 && formats.find(f => f.indexOf(')') > -1)) {\n const lastIndex = formats.findIndex(f => f.indexOf(')') > -1);\n formats[0] = [formats[0], ...formats.splice(1, lastIndex)].join(this.formatSeparator);\n }\n const result = formats.reduce((mem, f) => {\n const {\n formatName,\n formatOptions\n } = parseFormatStr(f);\n if (this.formats[formatName]) {\n let formatted = mem;\n try {\n const valOptions = options?.formatParams?.[options.interpolationkey] || {};\n const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = this.formats[formatName](mem, l, {\n ...formatOptions,\n ...options,\n ...valOptions\n });\n } catch (error) {\n this.logger.warn(error);\n }\n return formatted;\n } else {\n this.logger.warn(`there was no format function for ${formatName}`);\n }\n return mem;\n }, value);\n return result;\n }\n}\n\nconst removePending = (q, name) => {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n};\nclass Connector extends EventEmitter {\n constructor(backend, store, services, options = {}) {\n super();\n this.backend = backend;\n this.store = store;\n this.services = services;\n this.languageUtils = services.languageUtils;\n this.options = options;\n this.logger = baseLogger.create('backendConnector');\n this.waitingReads = [];\n this.maxParallelReads = options.maxParallelReads || 10;\n this.readingCalls = 0;\n this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n this.state = {};\n this.queue = [];\n this.backend?.init?.(services, options.backend, options);\n }\n queueLoad(languages, namespaces, options, callback) {\n const toLoad = {};\n const pending = {};\n const toLoadLanguages = {};\n const toLoadNamespaces = {};\n languages.forEach(lng => {\n let hasAllNamespaces = true;\n namespaces.forEach(ns => {\n const name = `${lng}|${ns}`;\n if (!options.reload && this.store.hasResourceBundle(lng, ns)) {\n this.state[name] = 2;\n } else if (this.state[name] < 0) ; else if (this.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n this.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n loaded(name, err, data) {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (!err && data) {\n this.store.addResourceBundle(lng, ns, data, undefined, undefined, {\n skipCopy: true\n });\n }\n this.state[name] = err ? -1 : 2;\n if (err && data) this.state[name] = 0;\n const loaded = {};\n this.queue.forEach(q => {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(l => {\n if (!loaded[l]) loaded[l] = {};\n const loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(n => {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(q => !q.done);\n }\n read(lng, ns, fcName, tried = 0, wait = this.retryTimeout, callback) {\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng,\n ns,\n fcName,\n tried,\n wait,\n callback\n });\n return;\n }\n this.readingCalls++;\n const resolver = (err, data) => {\n this.readingCalls--;\n if (this.waitingReads.length > 0) {\n const next = this.waitingReads.shift();\n this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < this.maxRetries) {\n setTimeout(() => {\n this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n const fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n const r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(data => resolver(null, data)).catch(resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n prepareLoading(languages, namespaces, options = {}, callback) {\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (isString(languages)) languages = this.languageUtils.toResolveHierarchy(languages);\n if (isString(namespaces)) namespaces = [namespaces];\n const toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(name => {\n this.loadOne(name);\n });\n }\n load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n loadOne(name, prefix = '') {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, (err, data) => {\n if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err);\n if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data);\n this.loaded(name, err, data);\n });\n }\n saveMissing(languages, namespace, key, fallbackValue, isUpdate, options = {}, clb = () => {}) {\n if (this.services?.utils?.hasLoadedNamespace && !this.services?.utils?.hasLoadedNamespace(namespace)) {\n this.logger.warn(`did not save key \"${key}\" as the namespace \"${namespace}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend?.create) {\n const opts = {\n ...options,\n isUpdate\n };\n const fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n let r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(data => clb(null, data)).catch(clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n}\n\nconst get = () => ({\n debug: false,\n initAsync: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: false,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: args => {\n let ret = {};\n if (typeof args[1] === 'object') ret = args[1];\n if (isString(args[1])) ret.defaultValue = args[1];\n if (isString(args[2])) ret.tDescription = args[2];\n if (typeof args[2] === 'object' || typeof args[3] === 'object') {\n const options = args[3] || args[2];\n Object.keys(options).forEach(key => {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: value => value,\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n },\n cacheInBuiltFormats: true\n});\nconst transformOptions = options => {\n if (isString(options.ns)) options.ns = [options.ns];\n if (isString(options.fallbackLng)) options.fallbackLng = [options.fallbackLng];\n if (isString(options.fallbackNS)) options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs?.indexOf?.('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n if (typeof options.initImmediate === 'boolean') options.initAsync = options.initImmediate;\n return options;\n};\n\nconst noop = () => {};\nconst bindMemberFunctions = inst => {\n const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(mem => {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n};\nclass I18n extends EventEmitter {\n constructor(options = {}, callback) {\n super();\n this.options = transformOptions(options);\n this.services = {};\n this.logger = baseLogger;\n this.modules = {\n external: []\n };\n bindMemberFunctions(this);\n if (callback && !this.isInitialized && !options.isClone) {\n if (!this.options.initAsync) {\n this.init(options, callback);\n return this;\n }\n setTimeout(() => {\n this.init(options, callback);\n }, 0);\n }\n }\n init(options = {}, callback) {\n this.isInitializing = true;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (options.defaultNS == null && options.ns) {\n if (isString(options.ns)) {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n const defOpts = get();\n this.options = {\n ...defOpts,\n ...this.options,\n ...transformOptions(options)\n };\n this.options.interpolation = {\n ...defOpts.interpolation,\n ...this.options.interpolation\n };\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n const createClassOnDemand = ClassOrObject => {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n };\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n let formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else {\n formatter = Formatter;\n }\n const lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n const s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n const usingLegacyFormatFunction = this.options.interpolation.format && this.options.interpolation.format !== defOpts.interpolation.format;\n if (usingLegacyFormatFunction) {\n this.logger.deprecate(`init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting`);\n }\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n if (s.formatter.init) s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', (event, ...args) => {\n this.emit(event, ...args);\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', (event, ...args) => {\n this.emit(event, ...args);\n });\n this.modules.external.forEach(m => {\n if (m.init) m.init(this);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(fcName => {\n this[fcName] = (...args) => this.store[fcName](...args);\n });\n const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(fcName => {\n this[fcName] = (...args) => {\n this.store[fcName](...args);\n return this;\n };\n });\n const deferred = defer();\n const load = () => {\n const finish = (err, t) => {\n this.isInitializing = false;\n if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!');\n this.isInitialized = true;\n if (!this.options.isClone) this.logger.log('initialized', this.options);\n this.emit('initialized', this.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (this.languages && !this.isInitialized) return finish(null, this.t.bind(this));\n this.changeLanguage(this.options.lng, finish);\n };\n if (this.options.resources || !this.options.initAsync) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n loadResources(language, callback = noop) {\n let usedCallback = callback;\n const usedLng = isString(language) ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng?.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback();\n const toLoad = [];\n const append = lng => {\n if (!lng) return;\n if (lng === 'cimode') return;\n const lngs = this.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(l => {\n if (l === 'cimode') return;\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(l => append(l));\n } else {\n append(usedLng);\n }\n this.options.preload?.forEach?.(l => append(l));\n this.services.backendConnector.load(toLoad, this.options.ns, e => {\n if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n reloadResources(lngs, ns, callback) {\n const deferred = defer();\n if (typeof lngs === 'function') {\n callback = lngs;\n lngs = undefined;\n }\n if (typeof ns === 'function') {\n callback = ns;\n ns = undefined;\n }\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, err => {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (let li = 0; li < this.languages.length; li++) {\n const lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n if (!this.resolvedLanguage && this.languages.indexOf(l) < 0 && this.store.hasLanguageSomeTranslations(l)) {\n this.resolvedLanguage = l;\n this.languages.unshift(l);\n }\n }\n changeLanguage(lng, callback) {\n this.isLanguageChangingTo = lng;\n const deferred = defer();\n this.emit('languageChanging', lng);\n const setLngProps = l => {\n this.language = l;\n this.languages = this.services.languageUtils.toResolveHierarchy(l);\n this.resolvedLanguage = undefined;\n this.setResolvedLanguage(l);\n };\n const done = (err, l) => {\n if (l) {\n if (this.isLanguageChangingTo === lng) {\n setLngProps(l);\n this.translator.changeLanguage(l);\n this.isLanguageChangingTo = undefined;\n this.emit('languageChanged', l);\n this.logger.log('languageChanged', l);\n }\n } else {\n this.isLanguageChangingTo = undefined;\n }\n deferred.resolve((...args) => this.t(...args));\n if (callback) callback(err, (...args) => this.t(...args));\n };\n const setLng = lngs => {\n if (!lng && !lngs && this.services.languageDetector) lngs = [];\n const fl = isString(lngs) ? lngs : lngs && lngs[0];\n const l = this.store.hasLanguageSomeTranslations(fl) ? fl : this.services.languageUtils.getBestMatchFromCodes(isString(lngs) ? [lngs] : lngs);\n if (l) {\n if (!this.language) {\n setLngProps(l);\n }\n if (!this.translator.language) this.translator.changeLanguage(l);\n this.services.languageDetector?.cacheUserLanguage?.(l);\n }\n this.loadResources(l, err => {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n getFixedT(lng, ns, keyPrefix) {\n const fixedT = (key, opts, ...rest) => {\n let o;\n if (typeof opts !== 'object') {\n o = this.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n o = {\n ...opts\n };\n }\n o.lng = o.lng || fixedT.lng;\n o.lngs = o.lngs || fixedT.lngs;\n o.ns = o.ns || fixedT.ns;\n if (o.keyPrefix !== '') o.keyPrefix = o.keyPrefix || keyPrefix || fixedT.keyPrefix;\n const keySeparator = this.options.keySeparator || '.';\n let resultKey;\n if (o.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(k => {\n if (typeof k === 'function') k = keysFromSelector(k, {\n ...this.options,\n ...opts\n });\n return `${o.keyPrefix}${keySeparator}${k}`;\n });\n } else {\n if (typeof key === 'function') key = keysFromSelector(key, {\n ...this.options,\n ...opts\n });\n resultKey = o.keyPrefix ? `${o.keyPrefix}${keySeparator}${key}` : key;\n }\n return this.t(resultKey, o);\n };\n if (isString(lng)) {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n t(...args) {\n return this.translator?.translate(...args);\n }\n exists(...args) {\n return this.translator?.exists(...args);\n }\n setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n hasLoadedNamespace(ns, options = {}) {\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n const lng = options.lng || this.resolvedLanguage || this.languages[0];\n const fallbackLng = this.options ? this.options.fallbackLng : false;\n const lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n const loadNotPending = (l, n) => {\n const loadState = this.services.backendConnector.state[`${l}|${n}`];\n return loadState === -1 || loadState === 0 || loadState === 2;\n };\n if (options.precheck) {\n const preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n loadNamespaces(ns, callback) {\n const deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (isString(ns)) ns = [ns];\n ns.forEach(n => {\n if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n);\n });\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n loadLanguages(lngs, callback) {\n const deferred = defer();\n if (isString(lngs)) lngs = [lngs];\n const preloaded = this.options.preload || [];\n const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0 && this.services.languageUtils.isSupportedCode(lng));\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages?.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n try {\n const l = new Intl.Locale(lng);\n if (l && l.getTextInfo) {\n const ti = l.getTextInfo();\n if (ti && ti.direction) return ti.direction;\n }\n } catch (e) {}\n const rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n const languageUtils = this.services?.languageUtils || new LanguageUtil(get());\n if (lng.toLowerCase().indexOf('-latn') > 1) return 'ltr';\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n static createInstance(options = {}, callback) {\n return new I18n(options, callback);\n }\n cloneInstance(options = {}, callback = noop) {\n const forkResourceStore = options.forkResourceStore;\n if (forkResourceStore) delete options.forkResourceStore;\n const mergedOptions = {\n ...this.options,\n ...options,\n ...{\n isClone: true\n }\n };\n const clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n const membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(m => {\n clone[m] = this[m];\n });\n clone.services = {\n ...this.services\n };\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n if (forkResourceStore) {\n const clonedData = Object.keys(this.store.data).reduce((prev, l) => {\n prev[l] = {\n ...this.store.data[l]\n };\n prev[l] = Object.keys(prev[l]).reduce((acc, n) => {\n acc[n] = {\n ...prev[l][n]\n };\n return acc;\n }, prev[l]);\n return prev;\n }, {});\n clone.store = new ResourceStore(clonedData, mergedOptions);\n clone.services.resourceStore = clone.store;\n }\n clone.translator = new Translator(clone.services, mergedOptions);\n clone.translator.on('*', (event, ...args) => {\n clone.emit(event, ...args);\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = mergedOptions;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n}\nconst instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nconst createInstance = instance.createInstance;\nconst dir = instance.dir;\nconst init = instance.init;\nconst loadResources = instance.loadResources;\nconst reloadResources = instance.reloadResources;\nconst use = instance.use;\nconst changeLanguage = instance.changeLanguage;\nconst getFixedT = instance.getFixedT;\nconst t = instance.t;\nconst exists = instance.exists;\nconst setDefaultNamespace = instance.setDefaultNamespace;\nconst hasLoadedNamespace = instance.hasLoadedNamespace;\nconst loadNamespaces = instance.loadNamespaces;\nconst loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, keysFromSelector as keyFromSelector, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","const {\n slice,\n forEach\n} = [];\nfunction defaults(obj) {\n forEach.call(slice.call(arguments, 1), source => {\n if (source) {\n for (const prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\nfunction hasXSS(input) {\n if (typeof input !== 'string') return false;\n\n // Common XSS attack patterns\n const xssPatterns = [/<\\s*script.*?>/i, /<\\s*\\/\\s*script\\s*>/i, /<\\s*img.*?on\\w+\\s*=/i, /<\\s*\\w+\\s*on\\w+\\s*=.*?>/i, /javascript\\s*:/i, /vbscript\\s*:/i, /expression\\s*\\(/i, /eval\\s*\\(/i, /alert\\s*\\(/i, /document\\.cookie/i, /document\\.write\\s*\\(/i, /window\\.location/i, /innerHTML/i];\n return xssPatterns.some(pattern => pattern.test(input));\n}\n\n// eslint-disable-next-line no-control-regex\nconst fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\nconst serializeCookie = function (name, val) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n path: '/'\n };\n const opt = options;\n const value = encodeURIComponent(val);\n let str = `${name}=${value}`;\n if (opt.maxAge > 0) {\n const maxAge = opt.maxAge - 0;\n if (Number.isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += `; Max-Age=${Math.floor(maxAge)}`;\n }\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n str += `; Domain=${opt.domain}`;\n }\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n str += `; Path=${opt.path}`;\n }\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n str += `; Expires=${opt.expires.toUTCString()}`;\n }\n if (opt.httpOnly) str += '; HttpOnly';\n if (opt.secure) str += '; Secure';\n if (opt.sameSite) {\n const sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n if (opt.partitioned) str += '; Partitioned';\n return str;\n};\nconst cookie = {\n create(name, value, minutes, domain) {\n let cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n path: '/',\n sameSite: 'strict'\n };\n if (minutes) {\n cookieOptions.expires = new Date();\n cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000);\n }\n if (domain) cookieOptions.domain = domain;\n document.cookie = serializeCookie(name, value, cookieOptions);\n },\n read(name) {\n const nameEQ = `${name}=`;\n const ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n },\n remove(name, domain) {\n this.create(name, '', -1, domain);\n }\n};\nvar cookie$1 = {\n name: 'cookie',\n // Deconstruct the options object and extract the lookupCookie property\n lookup(_ref) {\n let {\n lookupCookie\n } = _ref;\n if (lookupCookie && typeof document !== 'undefined') {\n return cookie.read(lookupCookie) || undefined;\n }\n return undefined;\n },\n // Deconstruct the options object and extract the lookupCookie, cookieMinutes, cookieDomain, and cookieOptions properties\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupCookie,\n cookieMinutes,\n cookieDomain,\n cookieOptions\n } = _ref2;\n if (lookupCookie && typeof document !== 'undefined') {\n cookie.create(lookupCookie, lng, cookieMinutes, cookieDomain, cookieOptions);\n }\n }\n};\n\nvar querystring = {\n name: 'querystring',\n // Deconstruct the options object and extract the lookupQuerystring property\n lookup(_ref) {\n let {\n lookupQuerystring\n } = _ref;\n let found;\n if (typeof window !== 'undefined') {\n let {\n search\n } = window.location;\n if (!window.location.search && window.location.hash?.indexOf('?') > -1) {\n search = window.location.hash.substring(window.location.hash.indexOf('?'));\n }\n const query = search.substring(1);\n const params = query.split('&');\n for (let i = 0; i < params.length; i++) {\n const pos = params[i].indexOf('=');\n if (pos > 0) {\n const key = params[i].substring(0, pos);\n if (key === lookupQuerystring) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n return found;\n }\n};\n\nvar hash = {\n name: 'hash',\n // Deconstruct the options object and extract the lookupHash property and the lookupFromHashIndex property\n lookup(_ref) {\n let {\n lookupHash,\n lookupFromHashIndex\n } = _ref;\n let found;\n if (typeof window !== 'undefined') {\n const {\n hash\n } = window.location;\n if (hash && hash.length > 2) {\n const query = hash.substring(1);\n if (lookupHash) {\n const params = query.split('&');\n for (let i = 0; i < params.length; i++) {\n const pos = params[i].indexOf('=');\n if (pos > 0) {\n const key = params[i].substring(0, pos);\n if (key === lookupHash) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n if (found) return found;\n if (!found && lookupFromHashIndex > -1) {\n const language = hash.match(/\\/([a-zA-Z-]*)/g);\n if (!Array.isArray(language)) return undefined;\n const index = typeof lookupFromHashIndex === 'number' ? lookupFromHashIndex : 0;\n return language[index]?.replace('/', '');\n }\n }\n }\n return found;\n }\n};\n\nlet hasLocalStorageSupport = null;\nconst localStorageAvailable = () => {\n if (hasLocalStorageSupport !== null) return hasLocalStorageSupport;\n try {\n hasLocalStorageSupport = typeof window !== 'undefined' && window.localStorage !== null;\n if (!hasLocalStorageSupport) {\n return false;\n }\n const testKey = 'i18next.translate.boo';\n window.localStorage.setItem(testKey, 'foo');\n window.localStorage.removeItem(testKey);\n } catch (e) {\n hasLocalStorageSupport = false;\n }\n return hasLocalStorageSupport;\n};\nvar localStorage = {\n name: 'localStorage',\n // Deconstruct the options object and extract the lookupLocalStorage property\n lookup(_ref) {\n let {\n lookupLocalStorage\n } = _ref;\n if (lookupLocalStorage && localStorageAvailable()) {\n return window.localStorage.getItem(lookupLocalStorage) || undefined; // Undefined ensures type consistency with the previous version of this function\n }\n return undefined;\n },\n // Deconstruct the options object and extract the lookupLocalStorage property\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupLocalStorage\n } = _ref2;\n if (lookupLocalStorage && localStorageAvailable()) {\n window.localStorage.setItem(lookupLocalStorage, lng);\n }\n }\n};\n\nlet hasSessionStorageSupport = null;\nconst sessionStorageAvailable = () => {\n if (hasSessionStorageSupport !== null) return hasSessionStorageSupport;\n try {\n hasSessionStorageSupport = typeof window !== 'undefined' && window.sessionStorage !== null;\n if (!hasSessionStorageSupport) {\n return false;\n }\n const testKey = 'i18next.translate.boo';\n window.sessionStorage.setItem(testKey, 'foo');\n window.sessionStorage.removeItem(testKey);\n } catch (e) {\n hasSessionStorageSupport = false;\n }\n return hasSessionStorageSupport;\n};\nvar sessionStorage = {\n name: 'sessionStorage',\n lookup(_ref) {\n let {\n lookupSessionStorage\n } = _ref;\n if (lookupSessionStorage && sessionStorageAvailable()) {\n return window.sessionStorage.getItem(lookupSessionStorage) || undefined;\n }\n return undefined;\n },\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupSessionStorage\n } = _ref2;\n if (lookupSessionStorage && sessionStorageAvailable()) {\n window.sessionStorage.setItem(lookupSessionStorage, lng);\n }\n }\n};\n\nvar navigator$1 = {\n name: 'navigator',\n lookup(options) {\n const found = [];\n if (typeof navigator !== 'undefined') {\n const {\n languages,\n userLanguage,\n language\n } = navigator;\n if (languages) {\n // chrome only; not an array, so can't use .push.apply instead of iterating\n for (let i = 0; i < languages.length; i++) {\n found.push(languages[i]);\n }\n }\n if (userLanguage) {\n found.push(userLanguage);\n }\n if (language) {\n found.push(language);\n }\n }\n return found.length > 0 ? found : undefined;\n }\n};\n\nvar htmlTag = {\n name: 'htmlTag',\n // Deconstruct the options object and extract the htmlTag property\n lookup(_ref) {\n let {\n htmlTag\n } = _ref;\n let found;\n const internalHtmlTag = htmlTag || (typeof document !== 'undefined' ? document.documentElement : null);\n if (internalHtmlTag && typeof internalHtmlTag.getAttribute === 'function') {\n found = internalHtmlTag.getAttribute('lang');\n }\n return found;\n }\n};\n\nvar path = {\n name: 'path',\n // Deconstruct the options object and extract the lookupFromPathIndex property\n lookup(_ref) {\n let {\n lookupFromPathIndex\n } = _ref;\n if (typeof window === 'undefined') return undefined;\n const language = window.location.pathname.match(/\\/([a-zA-Z-]*)/g);\n if (!Array.isArray(language)) return undefined;\n const index = typeof lookupFromPathIndex === 'number' ? lookupFromPathIndex : 0;\n return language[index]?.replace('/', '');\n }\n};\n\nvar subdomain = {\n name: 'subdomain',\n lookup(_ref) {\n let {\n lookupFromSubdomainIndex\n } = _ref;\n // If given get the subdomain index else 1\n const internalLookupFromSubdomainIndex = typeof lookupFromSubdomainIndex === 'number' ? lookupFromSubdomainIndex + 1 : 1;\n // get all matches if window.location. is existing\n // first item of match is the match itself and the second is the first group match which should be the first subdomain match\n // is the hostname no public domain get the or option of localhost\n const language = typeof window !== 'undefined' && window.location?.hostname?.match(/^(\\w{2,5})\\.(([a-z0-9-]{1,63}\\.[a-z]{2,6})|localhost)/i);\n\n // if there is no match (null) return undefined\n if (!language) return undefined;\n // return the given group match\n return language[internalLookupFromSubdomainIndex];\n }\n};\n\n// some environments, throws when accessing document.cookie\nlet canCookies = false;\ntry {\n // eslint-disable-next-line no-unused-expressions\n document.cookie;\n canCookies = true;\n // eslint-disable-next-line no-empty\n} catch (e) {}\nconst order = ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag'];\nif (!canCookies) order.splice(1, 1);\nconst getDefaults = () => ({\n order,\n lookupQuerystring: 'lng',\n lookupCookie: 'i18next',\n lookupLocalStorage: 'i18nextLng',\n lookupSessionStorage: 'i18nextLng',\n // cache user language\n caches: ['localStorage'],\n excludeCacheFor: ['cimode'],\n // cookieMinutes: 10,\n // cookieDomain: 'myDomain'\n\n convertDetectedLanguage: l => l\n});\nclass Browser {\n constructor(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.type = 'languageDetector';\n this.detectors = {};\n this.init(services, options);\n }\n init() {\n let services = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n languageUtils: {}\n };\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services;\n this.options = defaults(options, this.options || {}, getDefaults());\n if (typeof this.options.convertDetectedLanguage === 'string' && this.options.convertDetectedLanguage.indexOf('15897') > -1) {\n this.options.convertDetectedLanguage = l => l.replace('-', '_');\n }\n\n // backwards compatibility\n if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex;\n this.i18nOptions = i18nOptions;\n this.addDetector(cookie$1);\n this.addDetector(querystring);\n this.addDetector(localStorage);\n this.addDetector(sessionStorage);\n this.addDetector(navigator$1);\n this.addDetector(htmlTag);\n this.addDetector(path);\n this.addDetector(subdomain);\n this.addDetector(hash);\n }\n addDetector(detector) {\n this.detectors[detector.name] = detector;\n return this;\n }\n detect() {\n let detectionOrder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.options.order;\n let detected = [];\n detectionOrder.forEach(detectorName => {\n if (this.detectors[detectorName]) {\n let lookup = this.detectors[detectorName].lookup(this.options);\n if (lookup && typeof lookup === 'string') lookup = [lookup];\n if (lookup) detected = detected.concat(lookup);\n }\n });\n detected = detected.filter(d => d !== undefined && d !== null && !hasXSS(d)).map(d => this.options.convertDetectedLanguage(d));\n if (this.services && this.services.languageUtils && this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0\n return detected.length > 0 ? detected[0] : null; // a little backward compatibility\n }\n cacheUserLanguage(lng) {\n let caches = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.options.caches;\n if (!caches) return;\n if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return;\n caches.forEach(cacheName => {\n if (this.detectors[cacheName]) this.detectors[cacheName].cacheUserLanguage(lng, this.options);\n });\n }\n}\nBrowser.type = 'languageDetector';\n\nexport { Browser as default };\n","export const config = {\n apiBaseUrl: import.meta.env['VITE_API_BASE_URL'],\n debug: import.meta.env.DEV\n};\n","import { setDefaultOptions } from 'date-fns';\nimport { enGB } from 'date-fns/locale';\nimport i18n from 'i18next';\nimport LanguageDetector from 'i18next-browser-languagedetector';\nimport { initReactI18next } from 'react-i18next';\nimport { config } from './config';\nimport en from './translations/en.json';\nimport nb from './translations/nb.json';\nsetDefaultOptions({ locale: enGB });\n\ni18n\n // detect user language\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\n .use(LanguageDetector)\n // pass the i18n instance to react-i18next.\n .use(initReactI18next)\n // init i18next\n // for all options read: https://www.i18next.com/overview/configuration-options\n .init({\n debug: config.debug,\n fallbackLng: 'en',\n interpolation: {\n escapeValue: false // not needed for react as it escapes by default\n },\n resources: {\n en: {\n translation: en\n },\n nb: {\n tranlation: nb\n }\n }\n });\n\nexport default i18n;\n","/**\n * Logger utility for the SDK\n * Provides consistent logging across the SDK with different log levels\n */\n\nexport type LogLevel = 'debug' | 'info' | 'warn' | 'error';\n\ninterface LoggerOptions {\n prefix?: string;\n enabled?: boolean;\n level?: LogLevel;\n}\n\nconst LOG_LEVELS: Record<LogLevel, number> = {\n debug: 0,\n info: 1,\n warn: 2,\n error: 3\n};\n\nexport class Logger {\n private prefix: string;\n private enabled: boolean;\n private level: LogLevel;\n\n constructor(options: LoggerOptions = {}) {\n this.prefix = options.prefix || 'Nemme SDK';\n this.enabled = options.enabled !== undefined ? options.enabled : true;\n this.level = options.level || 'info';\n }\n\n private shouldLog(level: LogLevel): boolean {\n return this.enabled && LOG_LEVELS[level] >= LOG_LEVELS[this.level];\n }\n\n private formatMessage(message: string): string {\n return `[${this.prefix}] ${message}`;\n }\n\n debug(message: string, ...args: unknown[]): void {\n if (this.shouldLog('debug')) {\n console.debug(this.formatMessage(message), ...args);\n }\n }\n\n info(message: string, ...args: unknown[]): void {\n if (this.shouldLog('info')) {\n console.info(this.formatMessage(message), ...args);\n }\n }\n\n warn(message: string, ...args: unknown[]): void {\n if (this.shouldLog('warn')) {\n console.warn(this.formatMessage(message), ...args);\n }\n }\n\n error(message: string, ...args: unknown[]): void {\n if (this.shouldLog('error')) {\n console.error(this.formatMessage(message), ...args);\n }\n }\n\n // Create a child logger with a new prefix\n child(prefix: string): Logger {\n return new Logger({\n prefix: `${this.prefix}:${prefix}`,\n enabled: this.enabled,\n level: this.level\n });\n }\n\n // Configure logger settings\n configure(options: LoggerOptions): void {\n if (options.prefix !== undefined) {\n this.prefix = options.prefix;\n }\n if (options.enabled !== undefined) {\n this.enabled = options.enabled;\n }\n if (options.level !== undefined) {\n this.level = options.level;\n }\n }\n}\n\n// Create and export a default logger instance\nexport const logger = new Logger();\n","import { config } from '../config';\nimport { logger } from '../utils';\n\n// Create a network-specific logger\nconst networkLogger = logger.child('network');\n\nexport type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';\n\nexport interface RequestOptions {\n method?: HttpMethod;\n headers?: Record<string, string>;\n body?: unknown;\n params?: Record<string, string | number | boolean>;\n timeout?: number;\n}\n\nexport interface HttpResponse<T = unknown> {\n data: T;\n status: number;\n statusText: string;\n headers: Headers;\n ok: boolean;\n error?: {\n message: string;\n details?: unknown;\n };\n}\n\nconst DEFAULT_TIMEOUT = 30000; // 30 seconds\n\n/**\n * Creates a URL with query parameters\n */\nconst createUrl = (endpoint: string, params?: Record<string, string | number | boolean>): string => {\n const url = new URL(endpoint, config.apiBaseUrl);\n\n if (params) {\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n url.searchParams.append(key, String(value));\n }\n });\n }\n\n return url.toString();\n};\n\n/**\n * Global HTTP client for making API requests\n */\nexport const httpClient = {\n /**\n * Make an HTTP request\n */\n async request<T = unknown>(endpoint: string, options: RequestOptions = {}): Promise<HttpResponse<T>> {\n const { method = 'GET', headers = {}, body, params, timeout = DEFAULT_TIMEOUT } = options;\n\n const url = createUrl(endpoint, params);\n\n // Prepare headers with defaults\n const requestHeaders: Record<string, string> = {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n ...headers\n };\n\n // Prepare request options\n const requestOptions: RequestInit = {\n method,\n headers: requestHeaders,\n body: body ? JSON.stringify(body) : undefined\n };\n\n // Create abort controller for timeout\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), timeout);\n requestOptions.signal = controller.signal;\n\n try {\n const response = await fetch(url, requestOptions);\n\n // Parse response data\n let data: T;\n const contentType = response.headers.get('content-type');\n\n if (contentType && contentType.includes('application/json')) {\n data = await response.json();\n } else {\n const text = await response.text();\n try {\n data = JSON.parse(text) as T;\n } catch {\n data = text as unknown as T;\n }\n }\n\n const result: HttpResponse<T> = {\n data,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n ok: response.ok\n };\n\n // Handle error responses but don't throw\n if (!response.ok) {\n const errorMessage = `Request failed with status ${response.status}: ${response.statusText}`;\n networkLogger.error(errorMessage, {\n url,\n method,\n status: response.status,\n data: result.data\n });\n\n result.ok = false;\n result.error = {\n message: errorMessage,\n details: result.data\n };\n } else {\n result.ok = true;\n }\n\n return result;\n } catch (error) {\n // Log the error but don't throw\n let errorMessage = 'Network request failed';\n let errorDetails = {};\n\n if (error instanceof DOMException && error.name === 'AbortError') {\n errorMessage = `Request timeout after ${timeout}ms`;\n errorDetails = { timeout, url };\n } else {\n errorDetails = {\n message: error instanceof Error ? error.message : String(error),\n url,\n method\n };\n }\n\n networkLogger.error(errorMessage, errorDetails);\n\n // Return an error response instead of throwing\n const errorResponse: HttpResponse<T> = {\n data: {} as T,\n status: 0,\n statusText: errorMessage,\n headers: new Headers(),\n ok: false,\n error: {\n message: errorMessage,\n details: errorDetails\n }\n };\n\n return errorResponse;\n } finally {\n clearTimeout(timeoutId);\n }\n },\n\n /**\n * Convenience methods for common HTTP methods\n */\n async get<T = unknown>(endpoint: string, options: Omit<RequestOptions, 'method'> = {}): Promise<HttpResponse<T>> {\n return this.request<T>(endpoint, { ...options, method: 'GET' });\n },\n\n async post<T = unknown>(\n endpoint: string,\n data?: unknown,\n options: Omit<RequestOptions, 'method' | 'body'> = {}\n ): Promise<HttpResponse<T>> {\n return this.request<T>(endpoint, { ...options, method: 'POST', body: data });\n },\n\n async put<T = unknown>(\n endpoint: string,\n data?: unknown,\n options: Omit<RequestOptions, 'method' | 'body'> = {}\n ): Promise<HttpResponse<T>> {\n return this.request<T>(endpoint, { ...options, method: 'PUT', body: data });\n },\n\n async patch<T = unknown>(\n endpoint: string,\n data?: unknown,\n options: Omit<RequestOptions, 'method' | 'body'> = {}\n ): Promise<HttpResponse<T>> {\n return this.request<T>(endpoint, { ...options, method: 'PATCH', body: data });\n },\n\n async delete<T = unknown>(endpoint: string, options: Omit<RequestOptions, 'method'> = {}): Promise<HttpResponse<T>> {\n return this.request<T>(endpoint, { ...options, method: 'DELETE' });\n }\n};\n","import { createElement } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { I18nextProvider } from 'react-i18next';\nimport { FormWrapper } from '.';\nimport i18n from '../i18n';\nimport { httpClient } from '../networking';\nimport { Logger } from '../utils';\nimport { FormState } from './form-wrapper/form-wrapper';\n\nexport type FormConfig = {\n zIndex?: number;\n theme?: 'light' | 'dark';\n};\n\nexport type FormResponse = {\n id: number;\n questions: QuestionResponse[];\n};\n\ntype QuestionResponse = {\n id: number;\n answer: string | number | number[];\n};\n\nexport class FormManager {\n private logger: Logger;\n private headers: Record<string, string>;\n private config: FormConfig;\n\n constructor(logger: Logger, headers: Record<string, string>, config: FormConfig = {}) {\n this.logger = logger;\n this.headers = headers;\n this.config = config;\n }\n\n public async fetchAndDisplayForm(\n productSlug: string,\n onDismiss: () => Promise<void>,\n onComplete: (formState?: FormState) => Promise<void>\n ): Promise<void> {\n this.logger.debug(`Fetching form config for: ${productSlug}`);\n\n try {\n const response = await httpClient.get<Form>(`/external/forms/${productSlug}`, {\n headers: this.headers\n });\n\n if (response.ok && response.data) {\n this.logger.info(`Form config loaded for: ${productSlug}`, response.data);\n this.displayForm(response.data, onDismiss, onComplete);\n } else {\n this.logger.warn(`No form config found for: ${productSlug}`);\n }\n } catch (error) {\n this.logger.error(`Failed to fetch form config for: ${productSlug}`, error);\n }\n }\n\n private displayForm(form: Form, onDismiss: () => Promise<void>, onComplete: () => Promise<void>) {\n // Create a container div for the form\n const container = document.createElement('div');\n container.id = 'nm';\n document.body.appendChild(container);\n\n // Create React root and render the component\n const root = createRoot(container);\n const formElement = createElement(\n I18nextProvider,\n { i18n },\n createElement(FormWrapper, {\n form,\n onDismiss: async (formState: FormState) => {\n await onDismiss();\n root.unmount();\n container.remove();\n this.logger.info('Form dismissed', formState);\n },\n onComplete: async (formState: FormState) => {\n await onComplete();\n await this.postFormResponse(form, formState);\n root.unmount();\n container.remove();\n this.logger.info('Form completed', formState);\n },\n zIndex: this.config.zIndex\n })\n );\n\n root.render(formElement);\n }\n\n private async postFormResponse(form: Form, formState: FormState) {\n this.logger.info('Posting form response', formState);\n const response = await httpClient.post<FormResponse>(`/external/forms/${form.slug}`, formState, {\n headers: this.headers\n });\n this.logger.info('Form response posted', response.data);\n }\n}\n","import { FormConfig, FormManager } from '../forms/form-manager';\nimport { httpClient } from '../networking';\nimport { Logger } from '../utils';\n\nexport type ProductType = 'FRM' | 'TRK';\n\nexport type Trigger = {\n triggerType: 'page_url' | 'custom_event';\n urlPattern?: string;\n eventKey?: string;\n};\n\nexport type Channel = {\n channelType: string;\n channelStyle: string;\n};\n\nexport type Audience = {\n audienceType: string;\n};\n\nexport type Frequency = {\n frequencyType: string;\n};\n\nexport type Delivery = {\n id: number;\n productSlug: string;\n productType: ProductType;\n triggers: Trigger[];\n // channels: Channel[];\n // audiences: Audience[];\n // frequency: Frequency| null;\n};\n\nexport type DeliveryResponse = {\n id: number;\n shownAt: string;\n wasDismissed: boolean;\n wasCompleted: boolean;\n userId: string;\n respondedAt: string;\n};\n\nexport type TriggerContext = {\n url: string;\n eventKey?: string;\n eventData?: Record<string, unknown>;\n};\n\nexport class DeliveryManager {\n private logger: Logger;\n private headers: Record<string, string>;\n private formManager: FormManager;\n private deliveries: Delivery[] = [];\n\n constructor(logger: Logger, headers: Record<string, string>, formConfig?: FormConfig) {\n this.logger = logger;\n this.headers = headers;\n this.formManager = new FormManager(logger, headers, formConfig);\n }\n\n public async loadDeliveries(): Promise<void> {\n try {\n this.logger.debug('Loading deliveries');\n const response = await httpClient.get<Delivery[]>('/external/deliveries', { headers: this.headers });\n this.deliveries = response.data;\n this.logger.info(`Loaded ${this.deliveries.length} deliveries`);\n } catch (error) {\n this.logger.error('Failed to load deliveries', error);\n // Keep deliveries as empty array on failure\n this.deliveries = [];\n }\n }\n\n public async evaluateDeliveryTriggers(context: TriggerContext): Promise<void> {\n for (const delivery of this.deliveries) {\n for (const trigger of delivery.triggers) {\n if (this.shouldTriggerDelivery(trigger, context)) {\n const deliveryValid = await this.isDeliveryValid(delivery);\n if (!deliveryValid) {\n this.logger.debug(`Delivery ${delivery.id} is not valid, skipping`);\n continue;\n }\n await this.executeDelivery(delivery, trigger);\n return; // Stop after first match\n }\n }\n }\n }\n\n private shouldTriggerDelivery(trigger: Trigger, context: TriggerContext): boolean {\n if (this.hasActiveDelivery()) {\n return false;\n }\n switch (trigger.triggerType) {\n case 'page_url':\n return trigger.urlPattern ? this.matchesUrlPattern(context.url, trigger.urlPattern) : true;\n case 'custom_event':\n return trigger.eventKey ? context.eventKey === trigger.eventKey : false;\n default:\n return false;\n }\n }\n\n private hasActiveDelivery(): boolean {\n return document.getElementById('nm') !== null;\n }\n\n private async executeDelivery(delivery: Delivery, trigger: Trigger): Promise<void> {\n const productType = delivery.productType;\n if (productType === 'FRM') {\n this.logger.debug(`Triggering form delivery: ${delivery.productSlug}`, {\n triggerType: trigger.triggerType,\n urlPattern: trigger.urlPattern,\n eventKey: trigger.eventKey\n });\n\n try {\n const deliveryResponse = await this.createDeliveryResponse(delivery);\n await this.formManager.fetchAndDisplayForm(\n delivery.productSlug,\n async () => {\n this.logger.debug(`Form for delivery: ${delivery.productSlug} was cancelled`);\n if (deliveryResponse) await this.updateDeliveryResponse(delivery.id, deliveryResponse.id, true);\n },\n async () => {\n this.logger.debug(`Form for delivery: ${delivery.productSlug} was completed`);\n if (deliveryResponse) await this.updateDeliveryResponse(delivery.id, deliveryResponse.id, false, true);\n }\n );\n } catch (error) {\n this.logger.error(`Failed to load form for delivery: ${delivery.productSlug}`, error);\n }\n }\n }\n\n private matchesUrlPattern(url: string, pattern: string): boolean {\n // Extract pathname from URL (remove protocol, host, query params, etc.)\n let pathname: string;\n try {\n const urlObj = new URL(url);\n pathname = urlObj.pathname;\n } catch {\n // If URL parsing fails, assume it's already a pathname\n pathname = url.startsWith('/') ? url : `/${url}`;\n }\n\n // Normalize paths: remove trailing slash (except for root) and ensure leading slash\n const normalizePath = (p: string): string => {\n if (!p) return '/';\n let s = p.startsWith('/') ? p : `/${p}`;\n if (s.length > 1 && s.endsWith('/')) s = s.slice(0, -1);\n return s;\n };\n\n const normalizedPathname = normalizePath(pathname);\n const normalizedPattern = normalizePath(pattern);\n\n // Convert glob pattern to regex\n // * matches any characters except /\n // ** matches any characters including /\n const regexPattern = normalizedPattern\n .replace(/\\*\\*/g, '§DOUBLE_STAR§') // Temporary placeholder\n .replace(/\\*/g, '[^/]*') // Single * matches anything except /\n .replace(/§DOUBLE_STAR§/g, '.*') // ** matches anything including /\n .replace(/\\?/g, '.'); // ? matches single character\n\n const regex = new RegExp(`^${regexPattern}$`);\n const result = regex.test(normalizedPathname);\n\n this.logger.debug(`URL pattern matching`, {\n originalUrl: url,\n pathname,\n normalizedPathname,\n pattern,\n normalizedPattern,\n regexPattern,\n matches: result\n });\n\n return result;\n }\n\n private async createDeliveryResponse(delivery: Delivery): Promise<DeliveryResponse | undefined> {\n try {\n const response = await httpClient.post<DeliveryResponse>(\n `/external/deliveries/${delivery.id}/responses`,\n {},\n { headers: this.headers }\n );\n return response.data;\n } catch (error) {\n this.logger.error(`Failed to create delivery response for delivery: ${delivery.id}`, error);\n }\n }\n\n private async updateDeliveryResponse(\n deliveryId: number,\n deliveryResponseId: number,\n dismissed: boolean = false,\n completed: boolean = false\n ): Promise<void> {\n try {\n await httpClient.patch(\n `/external/deliveries/${deliveryId}/responses/${deliveryResponseId}`,\n { wasDismissed: dismissed, wasCompleted: completed },\n { headers: this.headers }\n );\n } catch (error) {\n this.logger.error(`Failed to update delivery response: ${deliveryResponseId} for delivery: ${deliveryId}`, error);\n }\n }\n\n private async isDeliveryValid(delivery: Delivery): Promise<boolean> {\n try {\n const response = await httpClient.get<boolean>(`/external/deliveries/${delivery.id}/should-deliver`, {\n headers: this.headers\n });\n return response.data;\n } catch (error) {\n this.logger.error(`Failed to get delivery should-deliver for delivery: ${delivery.id}`, error);\n return false;\n }\n }\n}\n","import { httpClient } from '../networking';\nimport { Logger } from '../utils';\n\nexport type Config = {\n logger: Logger;\n headers: Record<string, string>;\n sessionId: number;\n eventDefinitions: EventDefinition[];\n batchConfig?: boolean | BatchConfig;\n onPageView?: (url: string) => Promise<void>;\n onEvent?: (event: TrackEventOptions, url: string) => Promise<void>;\n};\n\nexport type BatchConfig = {\n enabled?: boolean;\n size?: number;\n delayMs?: number;\n sendOnUnload?: boolean;\n};\n\nexport type TrackEventOptions<T extends string = string> = {\n eventKey: T;\n data?: Record<string, unknown>;\n};\n\ntype HistoryParams = Parameters<typeof history.pushState>;\n\ntype EventOptions = TrackEventOptions & {\n sessionId: number;\n timestamp: string;\n page: string;\n};\n\ntype EventProperties = {\n name: string;\n type: string;\n};\n\nexport type EventDefinition = {\n properties: EventProperties[];\n eventKey: string;\n};\n\n/**\n * Manages event tracking, batching, and page view tracking\n */\nexport class TrackingManager {\n private logger: Logger;\n private headers: Record<string, string>;\n private sessionId?: number;\n private eventDefinitions: EventDefinition[] = [];\n private onPageView?: (url: string) => Promise<void>;\n private onEvent?: (event: TrackEventOptions, url: string) => Promise<void>;\n\n // Batching\n private backlog: Array<EventOptions> = [];\n private flushTimeout: number | null = null;\n private batchConfig: Required<BatchConfig> = {\n enabled: true,\n size: 10,\n delayMs: 10000, // 10 seconds\n sendOnUnload: true\n };\n\n // Page view tracking\n private originalHistoryMethods: {\n pushState: typeof history.pushState;\n replaceState: typeof history.replaceState;\n } | null = null;\n\n private readonly EVENT_PAGE_VIEW = 'page_view';\n\n constructor({ logger, headers, sessionId, eventDefinitions, batchConfig, onPageView, onEvent }: Config) {\n this.logger = logger;\n this.headers = headers;\n this.sessionId = sessionId;\n this.eventDefinitions = eventDefinitions;\n this.onPageView = onPageView;\n this.onEvent = onEvent;\n\n // Bind methods before setting up event listeners\n this.flushEvents = this.flushEvents.bind(this);\n this.handlePopState = this.handlePopState.bind(this);\n this.handleVisibilityChange = this.handleVisibilityChange.bind(this);\n\n this.setupBatching(batchConfig);\n }\n\n private setupBatching(batchConfig?: boolean | BatchConfig): void {\n if (typeof batchConfig === 'boolean') {\n this.batchConfig.enabled = batchConfig;\n } else if (batchConfig) {\n this.batchConfig = {\n ...this.batchConfig,\n ...batchConfig\n };\n }\n\n // Setup unload handler if batching is enabled\n if (this.batchConfig.enabled && this.batchConfig.sendOnUnload && typeof window !== 'undefined') {\n window.addEventListener('beforeunload', this.flushEvents);\n window.addEventListener('pagehide', this.flushEvents);\n }\n }\n\n public async setupPageViewTracking(): Promise<void> {\n if (typeof window === 'undefined') return;\n\n this.originalHistoryMethods = {\n pushState: history.pushState,\n replaceState: history.replaceState\n };\n\n const originalPushState = history.pushState;\n history.pushState = async (...args: HistoryParams) => {\n originalPushState.apply(history, args);\n await this.trackPageView();\n };\n\n const originalReplaceState = history.replaceState;\n history.replaceState = async (...args: HistoryParams) => {\n originalReplaceState.apply(history, args);\n await this.trackPageView();\n };\n\n window.addEventListener('popstate', this.handlePopState);\n document.addEventListener('visibilitychange', this.handleVisibilityChange);\n }\n\n public async track<T extends TrackEventOptions>(options: T): Promise<void> {\n if (!this.sessionId) {\n this.logger.warn('Tracking manager not initialized, cannot track event');\n return;\n }\n\n const { eventKey, data = {} } = options;\n this.logger.debug('Tracking event', { eventKey, data });\n const url = window.location.href;\n const event: EventOptions = {\n sessionId: this.sessionId,\n eventKey,\n data: data || {},\n timestamp: new Date().toISOString(),\n page: url\n };\n\n this.validateEvent(event);\n\n if (this.batchConfig.enabled) {\n this.backlog.push(event);\n this.scheduleFlush();\n } else {\n await this.sendEvents([event]);\n }\n\n if (eventKey === this.EVENT_PAGE_VIEW) {\n this.onPageView?.(window.location.href);\n } else {\n this.onEvent?.(event, url);\n }\n }\n\n public async trackPageView(): Promise<void> {\n if (typeof window === 'undefined') return;\n\n await this.track({\n eventKey: this.EVENT_PAGE_VIEW,\n data: {\n title: document.title\n }\n });\n }\n\n /**\n * Manually flush any pending events\n */\n public async flush(): Promise<void> {\n return this.flushEvents();\n }\n\n /**\n * Clean up event listeners and restore original history methods\n */\n public destroy(): void {\n if (this.originalHistoryMethods) {\n history.pushState = this.originalHistoryMethods.pushState;\n history.replaceState = this.originalHistoryMethods.replaceState;\n this.originalHistoryMethods = null;\n }\n\n if (typeof window !== 'undefined') {\n window.removeEventListener('popstate', this.handlePopState);\n document.removeEventListener('visibilitychange', this.handleVisibilityChange);\n window.removeEventListener('beforeunload', this.flushEvents);\n window.removeEventListener('pagehide', this.flushEvents);\n }\n\n // Clear any pending flush timeout\n if (this.flushTimeout) {\n clearTimeout(this.flushTimeout);\n this.flushTimeout = null;\n }\n }\n\n private validateEvent(event: EventOptions): void {\n if (event.eventKey === this.EVENT_PAGE_VIEW) return;\n\n const eventDefinition = this.eventDefinitions.find(def => def.eventKey === event.eventKey);\n if (!eventDefinition) {\n this.logger.warn(`Event ${event.eventKey} is not registered`);\n return;\n }\n\n const definedProperties = eventDefinition.properties;\n const eventProperties = event.data;\n if (!eventProperties) return;\n\n for (const eventPropertyKey of Object.keys(eventProperties)) {\n const eventProperty = eventProperties[eventPropertyKey];\n const definedProperty = definedProperties.find(prop => prop.name === eventPropertyKey);\n\n if (!definedProperty) {\n this.logger.warn(`Property ${eventPropertyKey} is not registered for event ${event.eventKey}`);\n return;\n }\n\n if (definedProperty.type === 'string' && typeof eventProperty !== 'string') {\n this.logger.warn(\n `Property ${definedProperty.name} has type ${definedProperty.type} but value is of type ${typeof eventProperty}`\n );\n }\n\n if (definedProperty.type === 'boolean' && typeof eventProperty !== 'boolean') {\n this.logger.warn(\n `Property ${definedProperty.name} has type ${definedProperty.type} but value is of type ${typeof eventProperty}`\n );\n }\n\n if (definedProperty.type === 'number' && typeof eventProperty !== 'number') {\n this.logger.warn(\n `Property ${definedProperty.name} has type ${definedProperty.type} but value is of type ${typeof eventProperty}`\n );\n }\n }\n }\n\n private async handlePopState(): Promise<void> {\n await this.trackPageView();\n }\n\n private async handleVisibilityChange(): Promise<void> {\n if (document.visibilityState === 'visible') {\n await this.trackPageView();\n }\n }\n\n private scheduleFlush(): void {\n if (this.backlog.length >= this.batchConfig.size) {\n this.flushEvents();\n return;\n }\n\n if (!this.flushTimeout) {\n this.flushTimeout = window.setTimeout(() => {\n this.flushEvents();\n }, this.batchConfig.delayMs);\n }\n }\n\n private async flushEvents(): Promise<void> {\n if (this.flushTimeout) {\n clearTimeout(this.flushTimeout);\n this.flushTimeout = null;\n }\n\n if (this.backlog.length === 0) return;\n\n const eventsToSend = [...this.backlog];\n this.backlog = [];\n\n try {\n await this.sendEvents(eventsToSend);\n } catch (error) {\n this.backlog.unshift(...eventsToSend);\n this.logger.error('Failed to send batched events', error);\n }\n }\n\n private async sendEvents(events: Array<EventOptions>): Promise<void> {\n if (events.length === 0) return;\n\n if (events.length === 1) {\n const event = events[0];\n await httpClient.post('/external/trackings/track', event, { headers: this.headers });\n } else {\n await httpClient.post('/external/trackings/batch', events, { headers: this.headers });\n }\n }\n}\n","import { DeliveryManager } from './deliveries/delivery-manager';\nimport { FormConfig } from './forms/form-manager';\nimport { httpClient, HttpResponse } from './networking';\nimport { BatchConfig, EventDefinition, TrackEventOptions, TrackingManager } from './tracking/tracking-manager';\nimport { Logger, logger } from './utils';\n\nexport type ClientConfigType = {\n userIdentifier: string;\n debug?: boolean;\n batch?: boolean | BatchConfig;\n formConfig?: FormConfig;\n deactivate?: boolean;\n};\n\n// Re-export types for backward compatibility\nexport type { BatchConfig, TrackEventOptions } from './tracking/tracking-manager';\n\ntype InitializeResponse = {\n sessionId: number;\n eventDefinitions: EventDefinition[];\n};\n\n/**\n * Main client class for the Nemme SDK\n * Coordinates initialization, tracking, and form management\n */\nexport class NemmeClient {\n clientKey: string;\n userIdentifier?: string;\n initialized = false;\n clientLogger: Logger = logger.child('client');\n headers: Record<string, string> = {};\n formConfig?: FormConfig;\n\n constructor(clientKey: string) {\n this.clientKey = clientKey;\n }\n\n // Module managers\n private trackingManager?: TrackingManager;\n\n /**\n * Create a new Nemme SDK client instance\n */\n public async init({\n userIdentifier,\n debug = false,\n batch,\n formConfig,\n deactivate = false\n }: ClientConfigType): Promise<NemmeClient> {\n if (deactivate) {\n this.clientLogger.info('Nemme client deactivated and will stop initialization.');\n this.initialized = true;\n this.clientLogger.configure({ enabled: false });\n return this;\n }\n if (!userIdentifier) throw new Error('userIdentifier is required parameter');\n this.userIdentifier = userIdentifier;\n\n // Configure logger based on debug setting\n this.clientLogger.configure({\n enabled: debug,\n level: debug ? 'debug' : 'info'\n });\n\n this.headers = {\n 'X-Client-Key': this.clientKey,\n 'X-User-Id': this.userIdentifier\n };\n\n this.formConfig = formConfig;\n\n try {\n const session = await this.initializeSession();\n await this.initializeManagers(session, batch);\n this.initialized = true;\n this.clientLogger.info('Nemme client initialized', {\n clientKey: this.clientKey,\n userIdentifier: this.userIdentifier\n });\n } catch (error) {\n this.clientLogger.error('Error during initialization:', error);\n }\n\n return this;\n }\n\n public async flush(): Promise<void> {\n return this.trackingManager?.flush();\n }\n\n public destroy(): void {\n this.trackingManager?.destroy();\n }\n\n public async track<T extends TrackEventOptions>(options: T): Promise<void> {\n if (!this.initialized || !this.trackingManager) {\n this.clientLogger.warn('Nemme client not initialized, some operations may fail');\n return;\n }\n\n return this.trackingManager.track(options);\n }\n\n private async initializeSession(): Promise<InitializeResponse> {\n try {\n const response: HttpResponse<InitializeResponse> = await httpClient.post(\n '/external/trackings/initialize',\n {},\n { headers: this.headers }\n );\n if (!response.ok) {\n throw new Error(response.error?.message || 'Request for initialising session failed');\n }\n return response.data;\n } catch (error) {\n this.clientLogger.error('Error during initialization', error);\n throw error;\n }\n }\n\n private async initializeManagers(session: InitializeResponse, batchConfig?: boolean | BatchConfig): Promise<void> {\n const deliveryManager = new DeliveryManager(this.clientLogger, this.headers, this.formConfig);\n const trackingManager = new TrackingManager({\n logger: this.clientLogger,\n headers: this.headers,\n sessionId: session.sessionId,\n eventDefinitions: session.eventDefinitions,\n batchConfig,\n onPageView: async (url: string) => {\n await deliveryManager.evaluateDeliveryTriggers({ url });\n },\n onEvent: async (event: TrackEventOptions, url: string) => {\n await deliveryManager.evaluateDeliveryTriggers({ eventKey: event.eventKey, eventData: event.data, url });\n }\n });\n\n await deliveryManager.loadDeliveries();\n\n if (typeof window !== 'undefined') {\n await trackingManager.setupPageViewTracking();\n await trackingManager.trackPageView();\n await trackingManager.flush();\n }\n\n this.trackingManager = trackingManager;\n }\n}\n\nexport const initAsModule = (clientKey: string) => new NemmeClient(clientKey);\n","import { createContext } from 'react';\nimport { NemmeClient } from '../client';\n\nexport interface NemmeContextType {\n client: NemmeClient | null;\n isInitialized: boolean;\n error: string | null;\n}\n\nexport const NemmeContext = createContext<NemmeContextType | undefined>(undefined);\n","import React, { useEffect, useState, ReactNode } from 'react';\nimport { NemmeClient, ClientConfigType } from '../client';\nimport { NemmeContext, NemmeContextType } from './context';\n\ninterface NemmeProviderProps {\n clientKey: string;\n config: ClientConfigType;\n children: ReactNode;\n}\n\nexport const NemmeProvider: React.FC<NemmeProviderProps> = ({ clientKey, config, children }) => {\n const [client, setClient] = useState<NemmeClient | null>(null);\n const [isInitialized, setIsInitialized] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n let currentClient: NemmeClient | null = null;\n let isCancelled = false;\n\n const initializeClient = async () => {\n try {\n const nemmeClient = new NemmeClient(clientKey);\n await nemmeClient.init(config);\n\n // Check if effect was cancelled during async operation\n if (isCancelled) {\n nemmeClient.destroy();\n return;\n }\n\n currentClient = nemmeClient;\n setClient(nemmeClient);\n setIsInitialized(true);\n setError(null);\n } catch (err) {\n if (!isCancelled) {\n setError(err instanceof Error ? err.message : 'Failed to initialize Nemme client');\n setIsInitialized(false);\n }\n }\n };\n\n // Reset state when starting new initialization\n setClient(null);\n setIsInitialized(false);\n setError(null);\n\n initializeClient();\n\n return () => {\n isCancelled = true;\n if (currentClient) {\n currentClient.destroy();\n }\n };\n }, [clientKey, config]);\n\n const value: NemmeContextType = {\n client,\n isInitialized,\n error\n };\n\n return <NemmeContext.Provider value={value}>{children}</NemmeContext.Provider>;\n};\n","import { useContext } from 'react';\nimport { NemmeContext } from './context';\n\nexport const useNemmeContext = () => {\n const context = useContext(NemmeContext);\n if (context === undefined) {\n throw new Error('useNemmeContext must be used within a NemmeProvider');\n }\n return context;\n};\n","import { useCallback } from 'react';\nimport { useNemmeContext } from './useNemmeContext';\nimport { TrackEventOptions } from '../client';\n\nexport const useNemme = () => {\n const { client, isInitialized, error } = useNemmeContext();\n\n const track = useCallback(\n async <T extends TrackEventOptions>(options: T) => {\n if (!client || !isInitialized) {\n console.warn('Nemme client not initialized');\n return;\n }\n return client.track(options);\n },\n [client, isInitialized]\n );\n\n const flush = useCallback(async () => {\n if (!client || !isInitialized) {\n console.warn('Nemme client not initialized');\n return;\n }\n return client.flush();\n }, [client, isInitialized]);\n\n return {\n track,\n flush,\n isInitialized,\n error,\n client\n };\n};\n","import { NemmeClient, initAsModule, type ClientConfigType } from './client';\nimport './i18n';\nimport './index.css';\n\ndeclare global {\n interface Window {\n NemmeSDK: ((clientKey: string) => NemmeClient) & {\n NemmeClient: typeof NemmeClient;\n init: (config: ClientConfigType & { clientKey: string }) => Promise<NemmeClient>;\n };\n }\n}\n\n// Create a default instance factory for global usage\nconst nemme = (clientKey: string) => initAsModule(clientKey);\n\n// Create init function that matches the expected signature\nconst init = async (config: ClientConfigType & { clientKey: string }): Promise<NemmeClient> => {\n const { clientKey, ...clientConfig } = config;\n const client = initAsModule(clientKey);\n return await client.init(clientConfig);\n};\n\n// Create a callable object that also exposes helpers\nconst NemmeSDKCallable = Object.assign((clientKey: string) => nemme(clientKey), {\n NemmeClient,\n init\n});\n\n// Expose to browser globals\nif (typeof window !== 'undefined') {\n window.NemmeSDK = NemmeSDKCallable;\n}\n\nexport { NemmeClient, NemmeSDKCallable as NemmeSDK, NemmeSDKCallable as default };\n\n// Re-export React components for browser usage\nexport { NemmeProvider, useNemme, useNemmeContext } from './react';\n\n// Re-export types for package consumers\nexport type { ClientConfigType, TrackEventOptions } from './client';\n"],"names":["warn","i18n","code","msg","rest","args","isString","alreadyWarned","warnOnce","loadedClb","cb","initialized","loadNamespaces","ns","loadLanguages","lng","n","hasLoadedNamespace","options","i18nInstance","loadNotPending","obj","isObject","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","m","defaultOptions","text","setDefaults","getDefaults","setI18n","instance","getI18n","initReactI18next","I18nContext","createContext","ReportNamespaces","namespaces","usePrevious","value","ignore","ref","useRef","useEffect","alwaysNewT","language","namespace","keyPrefix","useMemoizedT","useCallback","useTranslation","props","i18nFromProps","i18nFromContext","defaultNSFromContext","useContext","notReadyT","k","optsOrDefaultValue","retNotReady","i18nOptions","useSuspense","ready","memoGetT","getT","getNewT","t","setT","useState","joinedNS","previousJoinedNS","isMounted","bindI18n","bindI18nStore","boundReset","e","ret","resolve","I18nextProvider","defaultNS","children","useMemo","createElement","f","require$$0","l","p","q","c","a","g","b","h","reactJsxRuntime_production_min","jsxRuntimeModule","Step","step","form","formState","onDismiss","onNextStep","onPreviousStep","onUpdateResponse","stepInfo","stepOrder","currentOrder","questionIndex","title","description","image","includeOptOut","customStartButton","startButtonText","customOptOutButton","optOutButtonText","jsx","TransitionStart","customEndButton","endButtonText","customEndButtonLink","endButtonLink","TransitionEnd","question","alternatives","maxSelections","required","selectedAlternatives","isValid","QuestionChoice","alternativeIndex","current","updated","i","maxChars","limited","inputText","QuestionText","FormWrapper","onComplete","zIndex","lastStepIndex","setFormState","updateResponse","questionId","answer","prev","navigateToStep","nextStep","completedFormState","previousStep","o","r","s","x","d","w","Fe","he","at","lr","_e","E","_","lt","or","ht","D","sr","cr","me","it","ur","xt","He","z","yr","ye","fr","Cr","je","wr","Er","Fr","mt","Ae","_r","Me","kt","Q","Te","vt","Ar","Sr","jr","Tr","Rr","u","y","v","C","A","R","P","j","O","H","J","Y","K","I","M","ee","ne","V","le","ke","X","te","ie","fe","ve","oe","re","ue","se","Lr","Dr","Or","Pr","Hr","fa","ha","oa","ca","Ur","Vr","qr","Wr","da","ga","Kr","Jr","ea","ra","Ct","la","Br","Ir","Nr","$r","Mr","zr","Z","Gr","Zr","Yr","Xr","Qr","ta","aa","na","ia","sa","ua","pa","ya","ba","xa","Ne","ma","ka","ut","dt","va","pt","Ca","gt","wa","Ea","Fa","_a","Qt","Aa","Sa","ja","wt","tr","Re","er","Et","yt","Ft","_t","Ue","Ra","La","Ba","Da","QuestionWrapper","icon","onPrevious","onNext","onQuit","hasPreviousStep","hasNextStep","jsxs","cx","NText","index","Button","CaretLeftIcon","CaretRightIcon","XIcon","onAlternativeSelect","maxAlternatives","alternative","Option","size","strokeColor","fillColor","selected","viewBoxSize","center","radius","setInputText","maxCharacters","variantToClassName","TransitionWrapper","wrapperClassName","quitText","externalLink","ArrowSquareOutIcon","startText","onStart","getDefaultOptions","setDefaultOptions","newOptions","formatDistanceLocale","formatDistance","token","count","result","tokenValue","buildFormatLongFn","width","formatRelativeLocale","formatRelative","_date","_baseDate","_options","buildLocalizeFn","context","valuesArray","defaultWidth","eraValues","quarterValues","monthValues","dayValues","dayPeriodValues","formattingDayPeriodValues","localize","dirtyNumber","number","rem100","quarter","buildMatchFn","string","matchPattern","matchResult","matchedString","parsePatterns","key","findIndex","pattern","findKey","object","predicate","array","buildMatchPatternFn","parseResult","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","match","property","setInternalDefaultOptions","dateFormats","timeFormats","dateTimeFormats","formatLong","enGB","defer","res","rej","promise","reject","makeString","copy","lastOfPathSeparatorRegExp","cleanKey","canNotTraverseDeeper","getLastOfPath","path","Empty","stack","stackIndex","setPath","newValue","last","pushPath","concat","getPath","getPathWithDefaults","data","defaultData","deepExtend","target","source","overwrite","prop","regexEscape","str","_entityMap","escape","RegExpCache","capacity","regExpFromCache","regExpNew","chars","looksLikeObjectPathRegExpCache","looksLikeObjectPath","nsSeparator","keySeparator","possibleChars","matched","ki","deepFind","tokens","next","nextPath","getCleanedCode","consoleLogger","type","Logger$1","Logger","concreteLogger","lvl","prefix","debugOnly","moduleName","baseLogger","EventEmitter","events","listener","event","numListeners","observer","numTimesAdded","ResourceStore","ignoreJSONStructure","resources","deep","pack","postProcessor","module","processors","translator","processor","PATH_KEY","createProxy","state","handler","proxy","keysFromSelector","selector","opts","checkedLoadedFor","shouldHandleAsObject","Translator","services","opt","wouldCheckForNsInKey","seemsNaturalLanguage","parts","keys","lastKey","returnDetails","appendNamespaceToCIMode","resolved","resUsedKey","resExactUsedKey","noObject","joinArrays","handleAsObjectInI18nFormat","needsPluralHandling","hasDefaultValue","defaultValueSuffix","defaultValueSuffixOrdinalFallback","needsZeroSuffixLookup","defaultValue","resForObjHndl","handleAsObject","resType","resTypeIsArray","newKeyToUse","deepKey","usedDefault","usedKey","resForMissing","updateMissing","fk","lngs","fallbackLngs","send","specificDefaultValue","defaultForMissing","suffixes","suffix","skipOnVariables","nestBef","nb","nestAft","postProcess","postProcessorNames","found","exactUsedKey","usedLng","usedNS","extracted","needsContextHandling","codes","finalKeys","pluralSuffix","zeroSuffix","ordinalPrefix","contextKey","possibleKey","optionsKeys","useOptionsReplaceForData","option","LanguageUtil","formattedCode","cleanedLng","lngScOnly","lngOnly","supportedLng","fallbacks","fallbackCode","fallbackCodes","addCode","fc","suffixesOrder","dummyRule","PluralResolver","languageUtils","cleanedCode","cacheKey","rule","lngPart","pluralCategory1","pluralCategory2","pluralCategory","deepFindWithDefaults","regexSafe","val","Interpolator","escape$1","escapeValue","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapeSuffix","unescapePrefix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","getOrResetRegExp","existingRegExp","replaces","handleFormat","missingInterpolationHandler","todo","matchedVar","temp","safeValue","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","formatters","keyEndIndex","elem","parseFormatStr","formatStr","formatName","formatOptions","optStr","trimmedKey","createCachedFormatter","fn","cache","optForCache","frm","createNonCachedFormatter","Formatter","cf","formatter","name","format","formats","lastIndex","mem","formatted","valOptions","error","removePending","Connector","backend","store","languages","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","err","loaded","loadedKeys","fcName","tried","wait","resolver","fallbackValue","isUpdate","clb","get","transformOptions","noop","bindMemberFunctions","inst","I18n","defOpts","createClassOnDemand","ClassOrObject","lu","deferred","load","finish","usedCallback","append","li","lngInLngs","setLngProps","done","setLng","fl","fixedT","resultKey","fallbackLng","lastLng","loadState","preResult","preloaded","newLngs","ti","rtlLngs","forkResourceStore","mergedOptions","clone","clonedData","acc","slice","forEach","defaults","hasXSS","input","fieldContentRegExp","serializeCookie","maxAge","cookie","minutes","domain","cookieOptions","nameEQ","cookie$1","_ref","lookupCookie","_ref2","cookieMinutes","cookieDomain","querystring","lookupQuerystring","search","params","pos","hash","lookupHash","lookupFromHashIndex","query","hasLocalStorageSupport","localStorageAvailable","testKey","localStorage","lookupLocalStorage","hasSessionStorageSupport","sessionStorageAvailable","sessionStorage","lookupSessionStorage","navigator$1","userLanguage","htmlTag","internalHtmlTag","lookupFromPathIndex","subdomain","lookupFromSubdomainIndex","internalLookupFromSubdomainIndex","canCookies","order","Browser","detector","detectionOrder","detected","detectorName","lookup","caches","cacheName","config","LanguageDetector","en","LOG_LEVELS","level","message","logger","networkLogger","DEFAULT_TIMEOUT","createUrl","endpoint","url","httpClient","method","headers","body","timeout","requestHeaders","requestOptions","controller","timeoutId","response","contentType","errorMessage","errorDetails","FormManager","productSlug","container","root","createRoot","formElement","DeliveryManager","formConfig","delivery","trigger","deliveryResponse","pathname","normalizePath","normalizedPathname","normalizedPattern","regexPattern","deliveryId","deliveryResponseId","dismissed","completed","TrackingManager","sessionId","eventDefinitions","batchConfig","onPageView","onEvent","originalPushState","originalReplaceState","eventKey","eventDefinition","def","definedProperties","eventProperties","eventPropertyKey","eventProperty","definedProperty","eventsToSend","NemmeClient","clientKey","userIdentifier","debug","batch","deactivate","session","deliveryManager","trackingManager","initAsModule","NemmeContext","NemmeProvider","client","setClient","isInitialized","setIsInitialized","setError","currentClient","isCancelled","initializeClient","nemmeClient","useNemmeContext","useNemme","track","flush","nemme","NemmeSDKCallable","clientConfig"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,29,30,31,32,33,34,35,36,37,38,39,40,41,42]}